我自定义了一个CRC校验函数如下:
Public Function CRC16_8(ByVal DATA As String) As Long
Dim I As Long, J As Long, v() As Byte: v = DATA
Dim CRC As Long: CRC = &HFFFF&
For I = 0 To UBound(v)
CRC = (CRC \ 256) * 256& + (CRC Mod 256&) Xor V(I)
For J = 0 To 7
If (CRC And 1) Then
CRC = (CRC \ 2) Xor &H8408&
Else
CRC = (CRC \ 2) '
End If
Next J
Next I
CRC16_8 = CRC
End Function
本意是想比如一个单元格中输入1~4个字节的0~F,比如输入FFAAFF55,V(I)数组储存十六进制的{FF,AA,FF,55}的形式,然后计算该输入值的CRC校验值。以上程序调试过程中发现V(I)并不是这样的存储方式,而是依次存储这些字母的ASCII码值,共16字节。请问各位大侠,在该函数中如何实现我要求的存储方式,谢谢指教!急~~~~