补法加法与减法的运算规则
为了简单 下面用一个字节表示一个整数
-54 原码 10110110 反码 11001001 补码 11001010
-30 原码 10011110 反码 11100001 补码 11100010
反码相加
11001001+11100001 -> 10101010+1=10101011 -> (取反) 11010100(-84)
补码相加
11001010+11100010 -> 10101100 -> (取补码) 11010100 (-84)
反码:一个数如果为正,则它的反码与原码相同;
一个数如果为负,则符号位为1,其余各位是对原码取反。
两个数的二进制反码求和的运算规则:
1、从低位到高位逐列进行运算;
2、0+0=1,0+1=1,1+1=0(进位1加到下一列);
3、最高位相加产生的进位,要在最后的结果加1.
补码:一个数如果为正,则它的原码、反码、补码相同;
一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。
补码加减法运算法则如下:
1、参加运算操作的数都用补码表示。
2、数据的符号与数据一样参加运算。
3、求差时将负减数求补,用求和代替求差, 将减法运算转化为补码的加法运算。
4、运算结果为补码。如果符号位为 0 ,表明运算结果为正;如果符号位为 1 ,则表明结果为负。
5、符号位的进位为模值,应该去掉。