首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

print 100 and true 结果为100 print 100 or true 结果为-1,为什么?该如何解决

2012-02-17 
print100 and true 结果为100print100 or true结果为-1,为什么?谢谢[解决办法]这个问题以前遇到过true 在

print 100 and true 结果为100 print 100 or true 结果为-1,为什么?
谢谢

[解决办法]
这个问题以前遇到过
true 在做位运算的时候自动转化成 &HFFFF 也就是 integer的 -1
100 and true= &H0064 AND &HFFFF=&H0064=100
100 OR true= &H0064 OR &HFFFF=&HFFFF= -1
[解决办法]
Debug.Print "&H " & Hex$(100 And True) Return:&H64
Debug.Print "&H " & Hex$(100 Or True) Return:&HFFFF
[解决办法]
按位的布尔运算:

100(D)=[24个0]01100100(B)
true=-1(D)=[24个1]11111111(B)

[24个0]01100100(B)
AND [24个1]11111111(B)
----------------------
[24个0]01100100(B)=100(D)

[24个0]01100100(B)
OR [24个1]11111111(B)
----------------------
[24个1]11111111(B)=-1(D)

热点排行
Bad Request.