4

我正在尝试ANDExcel/Visual Basic.

前任。53FDBC AND 00FFFF这应该产生00FDBC

关于如何做到这一点的任何想法?

4

3 回答 3

6

我假设您将 2 个值存储为字符串。在这种情况下,您可以执行以下操作:

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
于 2009-03-19T15:51:41.773 回答
0

iirc,它是内置的,只有位移运算符不是内置的

&H53FDBC 和 &H00FFFF

于 2009-03-19T15:51:26.873 回答
0

十进制 0xFFFF 的十六进制值为 65536 十进制 0x53FDBC 的十六进制值为 5504444

所以你可以使用 =DEC2HEX(MOD(5504444,65536))

于 2015-02-23T03:44:29.480 回答