补码
时间:2016-10-21 来源:发票查询
目标
-- 减法如加法一样相加,符号位也不例外
原理
-- x-y = x+N-y-N
-- 1.正数的补码是自身
2.负数的补码是其反码加一
解说
1. 正数x+正数y
若次高位不进位,则两数相加,表示真实的值;否则,溢出---结果不可取
2. 正数x+负数-y
1.> 正数x大于负数-y |x| > |y|
因为 |x| > |y|,所以 x+N-|y| > N, 故相加次高位一定有进位,即符号位:0+1+1 = 0,此时两数和为x-|y|;
2.> 正数x等于负数-y |x| = |y|
因为 |x| = |y|,所以 x+N-|y| = N, 故相加次高位一定有进位,即符号位:0+1+1 = 0,此时两数和为x-|y| = 0;
3.>正数x小于负数-y |x| < |y|
因为 |x| < |y|,所以 x+N-|y| < N, 故相加次高位一定无进位,即符号位:0+1+0 = 1,此时两数和为x+N-|y|,求其补码为N-(x+N-|y|) =|y|-x,也即-(|y|-x)。
3.负数-x+负数-y
1.> 若|x|+|y| > N,则N-|x|+N-|y| > N,故相加次高位一定有进位,即符号位:1+1+1 = 1,此时两数和为N-|x|-|y|,求其补码为N-(N-|x|-|y|) =|x|+|y|,也即-(|y|+|x|);
2.> 若|x|+|y| < N,则N-|x|+N-|y| < N,故相加次高位一定无进位,即符号位:1+1+0 = 0,溢出---结果不可取;
小结
-- 补码相加:异号相加,不可能有溢出;同号相加,存在溢出!!!
注:-x的补码为N-|x|;-y的补码为N-|y|
课外补充:
《周易.系辞上传》 --大衍之数五十,其用四十有九。分而为二以象两,挂一以象三, 揲之以四以象四时,归奇于扐以象闰,五岁再闰,故再扐而后挂。天一地二,天三地四,天五地六,天七地八,天九地十。天数五,地数五,五位相得而各有合。天数二十有五,地数三十,凡天地之数五十有五。此所以成变化而行鬼神也。