Pergunta

Eu estou tentando AND dois hex número de bit-wise em Excel/Visual Basic.

Ex. 53FDBC AND 00FFFF que deve render 00FDBC.

Algumas ideias sobre como fazer isso?

Foi útil?

Solução

Eu suponho que você tem seus 2 valores armazenados como strings. Neste caso, você pode fazer o seguinte:

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)

Resultado contém agora "FDBC", mas você pode desejar para preencher este para a esquerda com zeros

Como uma função (módulo excel) isso poderia ser implementado como:

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

Outras dicas

Se bem me lembro, é built-in, os operadores só bit deslocando não são built-in

& H53FDBC E & H00FFFF

valor hexadecimal de 0xFFFF em Decimal é 65536 valor hexadecimal de 0x53FDBC em Decimal é 5.504.444

Assim você pode usar = DEC2HEX (MOD (5504444,65536))

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top