<分区>
当我输入 bin(-3)
时,它只显示 -0b11
。
这不是我想要的。
它只是保留 -
符号并转换数字。
我想要负数的实际表示。
Python 中有什么方法可以做到这一点吗?
<分区>
当我输入 bin(-3)
时,它只显示 -0b11
。
这不是我想要的。
它只是保留 -
符号并转换数字。
我想要负数的实际表示。
Python 中有什么方法可以做到这一点吗?
最佳答案
根据你想要多少个二进制数字,从一个数字中减去 (2n):
>>> bin((1 << 8) - 1)
'0b11111111'
>>> bin((1 << 16) - 1)
'0b1111111111111111'
>>> bin((1 << 32) - 1)
'0b11111111111111111111111111111111'
更新
使用下面的表达式,你可以覆盖正例和负例:
>>> bin(((1 << 32) - 1) & -5)
'0b11111111111111111111111111111011'
关于python - 如何在 python 中获取负数的二进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28383585/