当我进入bin(-3)它只是显示-0b11.
这不是我想要的.它只保留该-符号并转换数字.我想要负数的实际表示.
python中是否有任何方法可以做到这一点?
fal*_*tru 16
根据您想要的二进制数字数,从数字(2 n)中减去:
>>> bin((1 << 8) - 1)
'0b11111111'
>>> bin((1 << 16) - 1)
'0b1111111111111111'
>>> bin((1 << 32) - 1)
'0b11111111111111111111111111111111'
Run Code Online (Sandbox Code Playgroud)
UPDATE
使用以下表达式,您可以涵盖正面和负面情况:
>>> bin(((1 << 32) - 1) & -5)
'0b11111111111111111111111111111011'
Run Code Online (Sandbox Code Playgroud)