首页 > 解决方案 > Int(2) 到 16 位转换 python

问题描述

我正在使用一个数据集,其中一些数据以 INT(2) 格式存储。我需要将其转换为二进制(16 位)以通过 python 以有意义的方式读回数据。

我目前正在使用:

format(value, '016b')

将 int 转换为二进制以读回位。因此,我正在寻找简单的验证,以确认我正在使用的类型是正确的(因为我看到的输出与文档中的预期输出不太一致)。

例如,考虑到上述描述,这些转换后的值是否有意义?

2369 -> 0000100101000001

18767 -> 0100100101001111

标签: pythonbinaryint

解决方案


是的,他们有。实际上:

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


推荐阅读