对于,以下代码:
Dim lLength As Long
lLength = 350
If lLength <= &HFFFF Then
MsgBox "True"
EndIf
Run Code Online (Sandbox Code Playgroud)
lLength <= &HFFFF正在返回False。
我的猜测是这&HFFFF被解释为Integer值-1,因此该语句的计算结果为False。
我也尝试过&H0000FFFF,但是 IDE 删除了前导0000,我也尝试过&HFFFFL这会导致编译错误。
我可以65535在 VB6 中用十六进制文字表示吗?
尝试将其明确标记为Long带有尾随 & 符号的 a。
&HFFFF&
Run Code Online (Sandbox Code Playgroud)
&HFFFF不带尾随 & 符号的是Integer文字,Integer在 VB6 中是有符号的 2 字节整数,范围为 -32,768 到 +32,767。