Int(2)到16位转换python

时间:2018-04-26 00:08:59

标签: python binary int

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

我目前正在使用:

format(value, '016b')

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

例如,根据上面的描述,这些转换后的值是否有意义?

2369 - > 0000100101000001

18767 - > 0100100101001111

1 个答案:

答案 0 :(得分:0)

是的,他们这样做。事实上:

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