Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中获得负数的二进制表示_Python_Bit - Fatal编程技术网

如何在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'