在VB中怎么表示十六进制单字节的加减法
在VB中如何表示十六进制单字节的加减法?
在VB中如何表示十六进制单字节的加减法?
如:0-(00+03+08+39+54+45+58+54+30+31+0d+09+03),用VB代码如何写?
注意:由于以上括号中的数据是随程序运行而变化的,所以不能写成:&H0-(&H00+&H03+&H08+&H39+&H54+&H45+&H58+&H54+&H30+&H31+&H0D+&H09+&H03) Mod &H100。请教如何用VB代码写出该计算公式和结果?
------解决方案--------------------
Dim sHex() As Byte
s = "00031339323930374130303030"
ReDim sHex(Len(s) / 2)
For i = 0 To Len(s) - 1 Step 2
sHex(i / 2) = Val("&H" & Mid(s, i + 1, 2))
Next
Dim sum As Long
sum = 0
For i = 0 To UBound(sHex)
sum = sum + sHex(i)
If sum > 255 Then '截取单字节长度
sum = sum And 255
End If
Next
msgbox hex(sum)
在VB中如何表示十六进制单字节的加减法?
如:0-(00+03+08+39+54+45+58+54+30+31+0d+09+03),用VB代码如何写?
注意:由于以上括号中的数据是随程序运行而变化的,所以不能写成:&H0-(&H00+&H03+&H08+&H39+&H54+&H45+&H58+&H54+&H30+&H31+&H0D+&H09+&H03) Mod &H100。请教如何用VB代码写出该计算公式和结果?
------解决方案--------------------
Dim sHex() As Byte
s = "00031339323930374130303030"
ReDim sHex(Len(s) / 2)
For i = 0 To Len(s) - 1 Step 2
sHex(i / 2) = Val("&H" & Mid(s, i + 1, 2))
Next
Dim sum As Long
sum = 0
For i = 0 To UBound(sHex)
sum = sum + sHex(i)
If sum > 255 Then '截取单字节长度
sum = sum And 255
End If
Next
msgbox hex(sum)