VB 进行32位 CRC校验  如何定义无符号LONG型变量 或则有什么变通方式?
											各位大神,本人从事嵌入式软件开发,工作中用到了VB开发一个小工具,需要进行32位CRC校验,苦于VB无法定义无符号类型,希望各位大神经验,小弟不胜感激!C语言有实现,需要在VB 中实现。。。
u32 User_Make_crc32(u32 crc, u8* buf, u32 len)
程序代码:Public Function 左移1位(x As Long) As Long
Dim y As Long
y = x And &H40000000        '保存次高位
x = x And &H3FFFFFFF        '最高和次高位置0
x = x * 2                   '左移1位        '最高位和次高位置0是防止这步溢出
'移几位是相当于乘 2^(N-1)
If y > 0 Then '次高位需要变到最高位去,只有二种情况,一种=0,一种=&H40000000
    x = x Or &H80000000
End If    
    左移1位 = x
End Function
Public Function 右移1位(x As Long) As Long
Dim y As Long
y = x And &H80000000            '保存最高位
If y < 0 Then                   'X为负数,运算前要把符号位干掉
  x = x And &H7FFFFFFF
End If
x = Int(x / 2)                  '没去测试不使用int函数会不会正确。调用函数开销很大。
If y < 0 Then                   '最高位不为零,则放到次高位上去
    x = x Or &H40000000
End If
右移1位 = x
End Function
										
					
	