Dim US As UShort
US = 13 << 1 Xor 35
MsgBox(US.ToString)
'ответ 57
Dim s As UInt16
Dim s1 As UShort
Private Function Hash(ByVal Значение As Integer) As UInt16
'упрощенный вариант
For Nb As Integer = 1 To 8
Значение <<= 1
Next
'обрезаем значение до двух байт, чтобы не получить ошибку преобразования
Значение = Значение And &HFFFF
'возвращаем чистые два байта
Return CType(Значение, UInt16)
End Function
Return CType(Значение, UInt16)
crc = Hash(command2[3] << 1, 7,
Hash(command2 [2] << 1, 7,
Hash(command2 [1] << 1, 7,
Hash(command2 [0] << 1, 7, 0))));
CRC <<= 1
CRC = CRC Xor -28841S
Сейчас этот форум просматривают: Yandex-бот и гости: 100