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))