1

有没有办法获得实际的位表示,而不是垃圾'-0bx'?我需要真正能够看到这些位。它是否出现大/小端无关紧要。这是为了一个任务。有谁知道如何在python中查看整数的实际2的补码位表示?

4

2 回答 2

4

因为数字不受位范围的限制,所以没有规范的“位”表示。输出将是0b1, 0b11111111,0b1111111111111111等,具体取决于您碰巧想要的位范围。

以下会给你想要的吗?

> x = -1
> print(bin(x & 0xffffffff)) # 32-bit output
0b11111111111111111111111111111111

注意:这不会0像 Ned 的建议那样用 es 填充以提供固定长度。

于 2012-10-29T13:16:20.620 回答
4
>>> x = -1
>>> "{:032b}".format(x & 0xffffffff)
'11111111111111111111111111111111'
于 2012-10-29T13:21:07.580 回答