有没有办法获得实际的位表示,而不是垃圾'-0bx'?我需要实际能够看到这些位。它是否出现大/小端无关紧要。这是一项任务。 有谁知道如何在python中查看整数的实际2的补码位表示?
答案 0 :(得分:4)
因为数字不限于某个位范围,所以没有规范的“位”表示。输出结果为0b1
,0b11111111
,0b1111111111111111
等,具体取决于您打算使用的位范围。
以下是否会给你想要的东西?
> x = -1
> print(bin(x & 0xffffffff)) # 32-bit output
0b11111111111111111111111111111111
注意:这不会用0
来填充固定长度,正如Ned的建议那样。
答案 1 :(得分:4)
>>> x = -1
>>> "{:032b}".format(x & 0xffffffff)
'11111111111111111111111111111111'