补码的运算规则与溢出判别.ppt

上传人:小飞机 文档编号:6232064 上传时间:2023-10-08 格式:PPT 页数:8 大小:318.47KB
返回 下载 相关 举报
补码的运算规则与溢出判别.ppt_第1页
第1页 / 共8页
补码的运算规则与溢出判别.ppt_第2页
第2页 / 共8页
补码的运算规则与溢出判别.ppt_第3页
第3页 / 共8页
补码的运算规则与溢出判别.ppt_第4页
第4页 / 共8页
补码的运算规则与溢出判别.ppt_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《补码的运算规则与溢出判别.ppt》由会员分享,可在线阅读,更多相关《补码的运算规则与溢出判别.ppt(8页珍藏版)》请在三一办公上搜索。

1、补码的运算规则与溢出判别1.补码的运算规则补码的运算规则如下:1)X+Y补X补Y补 该运算规则说明:任何两个数相加,无论其正负号如何,只要对它们各自的补码进行加法运算,就可得到正确的结果,该结果是补码形式。2)X-Y补X补-Y补 该运算规则说明:任意两个数相减,只要对减数连同“-”号求补,就变成被减数补与-减数补相加,该结果是补码形式。,3)X补补X原 对于运算产生的补码结果,若要转换为原码表示,则正数的结果X补X原;负数结果,只要对该补结果再进行一次求补运算,就可得到负数的原码结果。例2:用补码求X+Y。解:若X补00100101,Y补00110011,可得 X+Y补X补+Y补 001001

2、01+0011001101011000由于符号位为0是正数,所以 X+Y原X+Y补01011000 则 X+Y(01011000)288,例3:用补码求X-Y。解:若-Y补11001101,可得 X-Y补X补+-Y补 00100101+1100110111110010由于符号位为1是负数,所以 X-Y原X-Y补补10001110则 X-Y-(00001110)2-14例4:用补码求Y-X。解:若-X补11011011,可得 Y-X补Y补+-X补00110011+11011011100001110(模28自然丢失)则 Y-X(00001110)2+14,例5:用补码求(-X)+(-Y)。解:(-

3、X)+(-Y)补-X补+-Y补11011011+11001101110101000(模28自然丢失)(-X)+(-Y)原(-X)+(-Y)补补11011000 则(-X)+(-Y)-(01011000)2-88 上述运算结果是正确的,但有时在补码运算中可能会出现错误的结果,请看下面例子。例6:设X+100,Y+50,用补码运算求X+Y,(-X)+(-Y)。解:X补01100100Y补00110010-X补10011100-Y补11001110X+Y补X补+Y补01100100+0011001010010110 X+Y原X+Y补补11101010 X+Y-(01101010)2-106而-X补+

4、-Y补10011100+1100111001101010-X补+-Y补原(01101010)201101010(-X)+(-Y)+(01101010)+106,2.溢出的判别 计算机中判别溢出的方法通常采用双高位判别法。双高位判别法利用符号位(K n-1位)及最高数值位(K n-2位)的进位情况来判断是否发生了溢出。为此,需引进两个符号:CS和CP。CS:若符号位发生进位,则CS1;否则CS0。CP:若最高数值位发生进位,则CP1;否则CP0 当两个正数补码相加时,若数值部分之和大于2n-1,则数值部分必有进位CP1;而符号位却无进位CS0。这时CSCP的状态为“01”,发生正溢出。当两个负数

5、补码相加时,若数值部分绝对值之和大于2n-1,则数值部分补码之和必小于2n-1,CP0;而符号位肯定有进位CS1,这时CSCP的状态为“10”,发生负溢出。当不发生溢出时,CS和CP的状态是相同的,即CSCP的状态为“00”或“11”。,例 7:01011001(+89)10010010(-110)01101100(+108)10100100(-92)+)011110000(进位)+)1 00000000(进位)011000101(-59)1 00110110(+54)CS0,CP1,正溢出 CS1,CP0,负溢出,例8:00110010(+50)11101100(-20)01000110(+

6、70)11100010(-30)+)0 00001100(进位)+)1 11000000(进位)0 01111000(+120)1 11001110(-50)CS0,CP0,无溢出 CS1,CP1,无溢出,例9:01010101(+85)10111100(-68)11011101(-35)00011101(+29)+)1 10111010(进位)+)0 01111000(进位)1 00110010(+50)0 11011001(-39)CS1,CP1,无溢出 CS0,CP0,无溢出,综上所述,对计算机而言,补码的引入使带符号数的运算都按加法处理。如果C和C的值相等,则表示运算结果正确,没有溢出,运算结果的正与负由符号位决定(如例8、例9);如果CS和CP的值不等,则表示运算结果不正确,发生了溢出现象(如例7)。在计算机中,常用“异或”电路来判别有无溢出发生,即CSCP1表示有溢出发生,否则无溢出发生。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号