python - Int(2) 到 16 位转换 python
问题描述
我正在使用一个数据集,其中一些数据以 INT(2) 格式存储。我需要将其转换为二进制(16 位)以通过 python 以有意义的方式读回数据。
我目前正在使用:
format(value, '016b')
将 int 转换为二进制以读回位。因此,我正在寻找简单的验证,以确认我正在使用的类型是正确的(因为我看到的输出与文档中的预期输出不太一致)。
例如,考虑到上述描述,这些转换后的值是否有意义?
2369 -> 0000100101000001
18767 -> 0100100101001111
解决方案
是的,他们有。实际上:
1x2^0 + 1x2^6 + 1x2^8 + 1x2^11 = 1 + 64 + 256 + 2048 = 2369
1x2^0 + 1x2^1 + 1x2^2 + 1x2^3 + 1x2^6 + 1x2^8 + 1x2^11 + 1x2^14 =
1 + 2 + 4 + 8 + 64 + 256 + 2048 + 16384 = 18767
推荐阅读
- python - 在 TensorFlow 的顺序模型中创建顺序模型
- javascript - 我怎样才能让我的 animate.css 动画永远循环?
- angularjs - 从控制器调用 angularjs 指令函数
- python - 如何检查输入的字符串列表是否按字母顺序排列?
- javascript - Angularjs bootstrap datetimepiker未绑定模型
- sql - jsonb列中的postgres随机文本
- linux - 如何在 Linux 中删除 Copyq 后停止弹出消息“命令“copyq onClipboardUnchanged”?
- reactjs - 无法运行命令 npm run deploy?
- sql - 从本周拉回第三周的数据?
- c - 如何将 PCHAR* 转换为 TCHAR*?