根据MSDN,Short数据类型由两个字节组成:https://msdn.microsoft.com/en-us/library/47zceaw7.aspx
但是如果我定义一个Short变量,内容总是4个字节:&HFFFFFFFF
Dim crc As Short = CShort(&HFFFFS) ' crc = &HFFFFFFFF
Dim crc As Short = &HFFFFS ' crc = &HFFFFFFFF
Run Code Online (Sandbox Code Playgroud)
这句话甚至给我一个错误:
Dim crc As Short = CShort(&HFFFF) ' Error: Constant expression not representable in type 'Short'
Run Code Online (Sandbox Code Playgroud)
这有什么用?为什么我Short不占用两个字节?
MWE补充道:
Public Function CRC16(ByVal dataFrame As Byte(), ByVal dataLength As Int16) As Int16
Dim index As Int16
Dim crc As Short = &HFFFFS
For iCount As Int16 = 0 To CShort(dataLength - …Run Code Online (Sandbox Code Playgroud)