原码的加减法计算规则
计算机中原码的加减法计算规则为:
符号位不参与计算,数值位进行加减。
① 在加法中分两种情况:
- 第二操作数为正号,此时对第一操作数和第二操作数的数值位做加法。
- 第二操作数为负号,此时对第一操作数和第二操作数的数值位做减法。
② 在减法中分两种情况:
- 第二操作数为正号,对第一操作数和第二操作数的数值位做减法。
- 第二操作数为负号,对第一操作数和第二操作数的数值位做加法。
在对数值位做加减法规则如下:
做加法时,符号位不参与计算,数值位相加。如果最高数值位产生了进位,则结果溢出。如果最高数值位没有产生
进位,则结果正确,计算结果的符号位取第一操作数的符号。
做减法时,符号位也不参与计算,第二操作数取补码,与第一操作数相加。此时又分两种情况,相加时如果最高
数值位产生了进位,说明数值位计算结果正确,符号位取第一操作数的符号;如果相加时最高数值位没有产生进位,则
需要对计算结果取绝对值,即对所得到的数值位求补(所有数值位求反后+1)作为计算结果,符号位取第一操作数的
符号的反。
例:[x]原=+1101,[y]原=-1010, [x]原+[y]原=
数值位做减法运算,[y]数值位求补,得0110,与1101做加法。 0110+1101=1,0011,最高数值位产生了进位,因此结果正确,符号位取[x]原的符号,得+0011。