如何在python中获得负数的二进制表示
当我进入如何在python中获得负数的二进制表示,python,bit,Python,Bit,当我进入bin(-3)时,它只显示-0b11 这不是我想要的。 它只是保留-符号并转换数字。 我想要负数的实际表示形式 python中有什么方法可以做到这一点吗?根据需要的二进制数字的多少,从数字(2n)中减去: >>>bin((1>>bin)((1>>bin)((1)哪一个是实际的表示形式?你是指两个补码?到多少位?@jornsharpe是两个补码表示形式。高达标准32位。甚至>>bin((1)对于加分,你可以通过按位和:bin一次覆盖正和负。)(((1@cobbal,谢谢你的评论。我根据你的
bin(-3)
时,它只显示-0b11
这不是我想要的。
它只是保留-
符号并转换数字。
我想要负数的实际表示形式
python中有什么方法可以做到这一点吗?根据需要的二进制数字的多少,从数字(2n)中减去:
>>>bin((1>>bin)((1>>bin)((1)哪一个是实际的表示形式?你是指两个补码?到多少位?@jornsharpe是两个补码表示形式。高达标准32位。甚至>>bin((1)对于加分,你可以通过按位和:bin一次覆盖正和负。)(((1@cobbal,谢谢你的评论。我根据你的意见更新了答案。
>>> bin((1 << 8) - 1)
'0b11111111'
>>> bin((1 << 16) - 1)
'0b1111111111111111'
>>> bin((1 << 32) - 1)
'0b11111111111111111111111111111111'
>>> bin(((1 << 32) - 1) & -5)
'0b11111111111111111111111111111011'