vb的运算符

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:51:00
2 Imp 3二进制转换后0000000000000010 Imp 0000000000000011 运算结果为1111111111111111 转换为十进制数是-1,请问为什么是-1,而不是65535

补码,,,
在计算器里试试吧
hex双字节FFFF => Dec -1
但是 7FFF => Dec 32767
很惨

65535超过了Integer显示限制(-32768 到 32767),溢出,从负数开始重新显示
改成long即可解决问题

在VB中,二进制的最高一位通常是用来表示正负的标志,而不是表示数位的。现在最高位是1,表示是一个负数。