如果这是一个非常基本的逻辑问题,我很抱歉,但是我在一个例子中看到了一些代码,我不理解逻辑结构,所以我希望有人能给我解释一下。
在我的示例中,我使用[Long]作为任何长数据类型对象的表示形式
该示例如下所示:
注意: wHi、wLow、LoLo、HiLo、LoHI和HiHI都是长变量。
If (wHi And &H8000&) Then
MAKELONG = (((wHi And &H7FFF&) * 65536) Or (wLow And &HFFFF&)) Or &H80000000
Else
MAKELONG = LoLO Or (&H10000 * LoHI)
'MAKELONG = ((wHi * 65535) + wLow)
End If我不确定这里测试的是什么条件:if [long] and [long] then和if [long] or [long] then
我也不理解返回逻辑,例如:[LONG] = ([LONG] And [LONG]) or [LONG]
我试着在眼前的窗口里玩,这并没有为我提供任何光明,因为我没有看到任何明显的模式:
?1 or 10
11
?2 or 10
10
?3 or 10
11
?4 or 10
14
? 1 and 10
0
?2 and 10
2
?3 and 10
2
?4 and 10
0
?5 and 10
0 发布于 2014-11-10 21:26:58
有点遮掩。例如,使用您的测试值:
?1 or 10 -> 11
00000001 = binary for 1
00001010 = binary for 10
OR --------
00001011 = binary for 11https://stackoverflow.com/questions/26853210
复制相似问题