XiiXXii

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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:])

 

posted on 2020-10-10 17:16  XiiXXii  阅读(216)  评论(0)    收藏  举报