规则是从低到高位逐列旅邯佤践进行计算,0和0加得0,0和1加得1,1和1加得0但要产生一个进位1,加到下一列,若最高位产生劲忧商偌了进位,则最后得到的结果要加1。
例如:
0 1 0 1 0
+1 1 0 1 1
————
= 0 0 1 0 1(高位产生进位,所以需要再加1)
+0 0 0 0 1
——————
=0 0 1 1 0
扩展资料:
注意事项
对一个无符号的数,先求其反码,然后从低位到高位,按位相加,有益处则向高位进1(和一般的二进制法则一样),若最高位有进位,则向最低位进1。
首先这里的反反码好像和以前学的有符号反码不一样,这里不分正负数,直接每个为都取反。
这种操作,使得在发送加法进位溢出时,溢出值并不是10000,而是1111.也即是当相加结果满1111时溢出,这样也可以说明为什么0000和1111都表示0了。
两种二进制反码求和的运算:
原码加法运算:
3(0011)+5(0101)=8(1000)
8(1000)+9(1001)=1(0001)
反码加法运算:
3(1100)+5(1010)=8(0111)
8(0111)+9(0110)=2(1101)
从上面的例子中,当加法未发生溢出时,原码与反码加法运算结果一样;当有溢出时,结果就不一样了,原码是满10000溢出,而反码是满1111溢出,所以相差正好是1。
另外,关于二进制反码求和运算需要说明的一点是,先取反后相加与先相加后取反,得到的结果是一样的。