VB中and的用法(VB新手)
如下:
- VB code
Dim i As Integer, t As Short t = 0 For i = 0 To UBound(buff) t = t + buff(i) t = t And 255 Next i If t = 0 Then Return True Else Return False End If
[解决办法]
VB 中的 And 可以是逻辑与或位与。
此处的用法是位与。其后的 255 等常数通常称为“掩码”(Mask),用于“屏蔽”掩码中为 0 的位。255 即二进制的 11111111b,它的作用是将 t 的高字节置为 0,也可以说是对 256 求“模”(余数)。因此
t = t And 255
等价于
t = t Mod 256
一般来说,与运算快于求模运算。用与来替代求模是汇编编程、嵌入开发常见的做法。
代码的作用,大概是校验某一种 LRC 检错码。校验规则是所有字节模 256 相加的结果为 0。