注册 登录
编程论坛 VB6论坛

为什么输出结果都是“中”?

yuma 发布于 2022-08-09 13:24, 1919 次点击
Debug.Print Chr(-10544)
Debug.Print Chr(54992)
12 回复
#2
chenyucheng2022-08-09 13:41
补码了解一下
而且参数用的是Integer,16位整型

[此贴子已经被作者于2022-8-9 13:43编辑过]

#3
yuma2022-08-09 13:42


Debug.Print Chr(65)


这一句的补码是多少?
#4
chenyucheng2022-08-09 13:48
回复 3楼 yuma
65把从左到右数第1个二进制位变二进制的1,
65的二进制是100 0001,变1000 0000 0100 0001(16位整数),补码-32703
是不是这样?
#5
yuma2022-08-09 13:53
回复 4楼 chenyucheng
这好像有点说不过去

Debug.Print Chr(65) '输出:A
Debug.Print Chr(-32703) '输出的是另一个字符,这里无法显示出来:

[此贴子已经被作者于2022-8-9 13:55编辑过]

#6
chenyucheng2022-08-09 13:56
回复 5楼 yuma
补码会把第1个二进制位变二进制的1。
#7
yuma2022-08-09 13:59
找到原因了,你答对了一半。

只有本站会员才能查看附件,请 登录
#8
吹水佬2022-08-09 14:57
以下是引用yuma在2022-8-9 13:24:49的发言:

Debug.Print Chr(-10544)
Debug.Print Chr(54992)

内码:0xD6D0
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录
#9
chenyucheng2022-08-09 15:24
回复 7楼 yuma
正数本身就是没有䃼码的,负数才有䃼码。
#10
sssooosss2022-08-16 19:25
共同学习
#11
独木星空2022-08-16 20:13
回复 7楼 yuma
长见识了。实际上我很少深入的去研究,只有用到的时候才全身心的去投入进去。
#12
yuma2022-08-16 20:54
各种的轮子我都造好了,如果有需要随时可以造车。
#13
风吹过b2022-08-16 22:15
我不会造 带 API 的轮子,给点抄吧。要求中文注释。
1