负整数到带符号的 32 位二进制
Negative integer to signed 32-bit binary
>>> a = -2147458560
>>> bin(a)
'-0b1111111111111111001111000000000'
我的意图是将 a
作为 32 位带符号二进制文件和 return 进行操作。 -2147458560
的正确转换为 '0b10000000000000000110001000000000'
;我怎样才能做到这一点?
按位与 (&
) 与 0xffffffff
(232 - 1) 首先:
>>> a = -2147458560
>>> bin(a & 0xffffffff)
'0b10000000000000000110001000000000'
>>> format(a & 0xffffffff, '32b')
'10000000000000000110001000000000'
>>> '{:32b}'.format(a & 0xffffffff)
'10000000000000000110001000000000'
>>> a = -2147458560
>>> bin(a)
'-0b1111111111111111001111000000000'
我的意图是将 a
作为 32 位带符号二进制文件和 return 进行操作。 -2147458560
的正确转换为 '0b10000000000000000110001000000000'
;我怎样才能做到这一点?
按位与 (&
) 与 0xffffffff
(232 - 1) 首先:
>>> a = -2147458560
>>> bin(a & 0xffffffff)
'0b10000000000000000110001000000000'
>>> format(a & 0xffffffff, '32b')
'10000000000000000110001000000000'
>>> '{:32b}'.format(a & 0xffffffff)
'10000000000000000110001000000000'