Python 二元运算 - 合并高位和低位
Python binary operations - combine higher and lower order bits
我有两个十六进制值(以字符串形式提供):
00000000fe000000 <- high order 32-bits
000000000001009f <- low order 32-bits
它们需要组合成一个值,理想情况下 - 像值 [0:15] 一样方便地寻址(返回位 0 到 15,从右到左)。
在 Python 中执行此操作的最佳方法是什么?
对于两个整数,您只需使用移位和 |
:
high = 0x00000000fe000000
low = 0x000000000001009f
result = (high << 32) | low
对于任何其他输入,我建议先将它们转换为 int
s,然后再将结果转换回您想要的任何形式。
要检索原始片段,请反向使用位移位
high = result >> 32
和 &
使用适当的掩码:
low = result & 0xffffffff
我有两个十六进制值(以字符串形式提供):
00000000fe000000 <- high order 32-bits
000000000001009f <- low order 32-bits
它们需要组合成一个值,理想情况下 - 像值 [0:15] 一样方便地寻址(返回位 0 到 15,从右到左)。
在 Python 中执行此操作的最佳方法是什么?
对于两个整数,您只需使用移位和 |
:
high = 0x00000000fe000000
low = 0x000000000001009f
result = (high << 32) | low
对于任何其他输入,我建议先将它们转换为 int
s,然后再将结果转换回您想要的任何形式。
要检索原始片段,请反向使用位移位
high = result >> 32
和 &
使用适当的掩码:
low = result & 0xffffffff