考虑符号位(有符号数)
核心是保证在无溢出时,满足移位与乘除法的对应关系。
正数 0001 0100
正数三码合一,有效位是1,无效位是0。无论左右移动都是补0。
负数 1000 1000
负数的原码有效位依旧为1,两边无效位为0。补0。
负数的反码,与原码相反,故移动补1。
对反码操作等价于对原码操作。
负数反码,低到高位的第一个1为界,左边取反,右边与原码相同。
故补低位,补0。
补高位,补1。
原码1000 1000
反码1111 0111
补码1111 1000
逻辑上符号位不参与运算,实际硬件实现时符号位与其他位共同参与运算。