python 中用 bin 函数查看不了负数的真正二进制表示,但有一些小技巧可以变相实现此功能。
def solve(num): src, inver, comp = None, None, None if num<0: # 获取补码 num &= 0xffffffff comp = num # 补码取反后加 1 得到源码 num ^= 0x7fffffff src = num+1 # 源码取反得到反码 inver = sc^0x7fffffff print("源码%s"%bin(src)[2:]) print("反码%s"%bin(inver)[2:]) print("补码%s"%bin(comp)[2:])
浙公网安备 33010602011771号