hex与Excel和/或Visual Basic中的ANDing
我想在Excel/Visual Basic
位进行“ AND
两个hex数。
防爆。 53FDBC AND 00FFFF
这应该产生00FDBC
。
任何想法如何做到这一点?
我假设你有2个值存储为string。 在这种情况下,您可以执行以下操作:
Dim hex1 As String hex1 = "53FDBC" Dim hex2 As String hex2 = "00FFFF" Dim bin1 As String bin1 = CLng("&H" & hex1) Dim bin2 As String bin2 = CLng("&H" & hex2) Dim result As String result = Hex$(bin1 And bin2)
结果现在包含“FDBC”,但您可能希望填充零到左边
作为一个函数(excel模块),可以这样实现:
Function hexand(hex1 As String, hex2 As String) as String Dim bin1 As String bin1 = CLng("&H" & hex1) Dim bin2 As String bin2 = CLng("&H" & hex2) hexand = Hex$(bin1 And bin2) End Function
iirc,它是内置的,只有位移操作符不是内置的
&H53FDBC And&H00FFFF
十进制中0xFFFF的hex值是65536hex中0x53FDBC的hex值是5504444
所以你可以使用= DEC2HEX(MOD(5504444,65536))