当正数加正数,不会使用到补码,只有出现负数的时候才用到补码,正数+补码=正数+mod-负数真值,当正数大于负数真值部分是,mod就没有参与,则就是其本身产生进位,,舍弃的也就是本身,当然不会影响运算。也就是说产生进位的也就只能由于mod使之与符号位相加产生进位,从而丢弃不影响运算结果。
以4位真值为例子x=+1011,y=-0101,则mod=16,2的4次,能不能使mod=32,2的5次方呢,是可以的,依次为补码计算结果也正确,大概是因为没必要的占位浪费资源。
还有mod是1 0000,而不是1111,是要有补可言,如-1111其补码为-1,取1111时则为-0,则出现正负0,不符。
关于补码运算为什么进位要丢弃的解释
最新推荐文章于 2025-03-08 11:14:09 发布