您的位置:程序门 -> vb -> 基础类



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


print 100 and true 结果为100 print 100 or true 结果为-1,为什么?[已结贴,结贴人:haofengfu]
发表于:2007-08-13 16:09:40 楼主
谢谢
发表于:2007-08-13 16:17:481楼 得分:30
这个问题以前遇到过
true   在做位运算的时候自动转化成   &hffff   也就是   integer的   -1
100   and   true=   &h0064   and   &hffff=&h0064=100
100   or   true=   &h0064   or   &hffff=&hffff=   -1
发表于:2007-08-13 20:28:552楼 得分:0
受教了。
发表于:2007-08-13 21:58:083楼 得分:4
debug.print   "&h "   &   hex$(100   and   true)       return:&h64
debug.print   "&h "   &   hex$(100   or   true)         return:&hffff
发表于:2007-08-13 22:14:164楼 得分:16
按位的布尔运算:

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)


快速检索

最新资讯
热门点击