python - Python二进制操作 - 结合高阶和低阶位
问题描述
我有两个十六进制值(作为字符串提供):
00000000fe000000 <- 高位 32 位
000000000001009f <- 低位 32 位
它们需要组合成一个值,理想情况下 - 方便地寻址,如 value[0:15] (返回位 0 到 15,从右到左)。
在 Python 中执行此操作的最佳方法是什么?
解决方案
使用两个整数,您只需使用位移位和|
:
high = 0x00000000fe000000
low = 0x000000000001009f
result = (high << 32) | low
对于任何其他输入,我建议int
先将它们转换为 s,然后将结果转换回您想要的任何形式。
要检索原始片段,请反向使用位移
high = result >> 32
并&
带有适当的面具:
low = result & 0xffffffff
推荐阅读
- kotlin - 获取枚举值的注释
- gradient - Tensorflow 2.0 中的 Tensorboard:绘制模型的激活和梯度
- python - Python telebot 脚本(每分钟拍照并发送到电报)
- python - 如何在熊猫中对值进行分组但使用列表作为索引?
- java - 在java中转换为粗体,斜体,删除线文本
- docker - 从基础映像撤消 Dockerfile VOLUME 指令
- javascript - Edge 和 IE11 XSLT 空间问题
- c++ - 带有 C++ 插件的 Netbeans 10.0 IDE 无法安装某些模块:com.jcraft.jsch
- reactjs - ion-slides - 幻灯片的动态数量
- terraform - 删除 google_kms_crypto_key 资源时出现错误消息