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

哪位高手能解释下这句的含义Loop While (Val And &H2),多谢

2012-02-28 
谁能解释下这句的含义Loop While (Val And &H2),谢谢DimValAsLongDo...变量Val的值一直在变化...LoopWhile

谁能解释下这句的含义Loop While (Val And &H2),谢谢
Dim   Val   As   Long
Do
...
变量Val的值一直在变化
...
Loop   While   (Val   And   &H2)   <-   请问这个条件是什么意思?

[解决办法]
(Val And &H2) 是测试Val的第1位(即二进制的从右边数2位)是否是1

它等价于

(Val And &H2) <> 0
[解决办法]
(Val And &H2) <> 0

注意括号的位置, 千万不要写成: (Val And &H2 <> 0)
也千万不要把括号拿掉, 变成: Val And &H2 <> 0

因为在VB中, 关系运算符(=、 <、> 、 <=、> =、 <> )的运算优先级高于逻辑运算符(AND、OR、XOR)



[解决办法]
将Val的值与&H2进行按位布尔“与”运算……
例如,Val=15=&HF=000....001111(bin)
&H2=000....000010(bin)

000...001111
and 000...000010
----------------
000...000010(bin)=2=&H2

只要这个计算结果为非0,在这里就可以看作条件成立,执行循环。

热点排行