运算方法和运算器

运算方法和运算器

ID:36914538

大小:3.06 MB

页数:64页

时间:2019-05-10

运算方法和运算器_第1页
运算方法和运算器_第2页
运算方法和运算器_第3页
运算方法和运算器_第4页
运算方法和运算器_第5页
资源描述:

《运算方法和运算器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、§2.2定点加法、减法运算一、补码的加减法运算1、加法任意两个数的补码之和,等于该两数和的补码。[X+Y]补=[X]补+[Y]补(mod2)两个数不管正负,均用补码表示,符号位应当做数值参加运算,符号位相加所产生的进位要丢掉,结果为补码。可以证明:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补[-Y]补的求法:将[Y]补连同符号位求反加1。例:X=1001Y=0101,求X+Y=?解:[X]补=01001[Y]补=00101[X+Y]补=[X]补+[Y]补=01001+00101=01110例:X=1001Y=-0101,求X+Y=?

2、解:[X]补=01001[Y]补=11011[X+Y]补=[X]补+[Y]补=01001+11011=00110定点运算器——定点加减法例:X=0.1011Y=-0.0101,求X+Y=?解:[X]补=0.1011[Y]补=1.1011+011010.丢到1[X]补+[Y]补=0.0110X+Y=0.0110定点运算器——定点加减法例:X=-11001,Y=-00011,求X+Y=?解:[X]补=100111[Y]补=111101+001011丢到1[X]补+[Y]补=100100X+Y=-111000由以上两例看到,补码加法的特点:一是符号位要作为数的

3、一部分一起参加运算。二是要在模2的意义下相加,即超过2的进位要丢掉!定点运算器——定点加减法补码的减法:[X]补-[Y]补=[X+(-Y)]补=[X]补+[-Y]补(-Y)的补码称为[Y]补的机器负数,由[Y]补求[-Y]补的过程称为将[Y]补“变补”或对[Y]补求补,由[Y]补求[-Y]补的方法是,不管Y的真值为正或为负,都是将[Y]补的各位连同符号位在内全变反后,最低位加1。定点运算器——定点加减法例:X=-0.1011Y=-0.0110,求X-Y=?解:[X]补=1.0101[-Y]补=0.0110+11011.[X-Y]补=1.1011X-Y=-

4、0.0101二、溢出及其判别方法在计算机中,由于机器码的尾数通常是给定的(如16位字长,32位字长),因此,在计算机中数的表示范围是有限的,若两数进行加减运算的结果超出了给定的取值范围,就称为溢出。一旦出现溢出,必须及时处理,否则会出现错误。1、溢出例1:X=1010Y=1001求X+Y解:[X]补=01010+[Y]补=0100110011例2:X=-1010Y=-1011求X+Y解:[X]补=10110+[Y]补=1010101011较大正数相加产生进位,影响符号位较大的负数对应较小的正数补码相加无进位,符号位自己相加2、溢出原因:1)两个正数太大:

5、产生进位而改变了符号位;2)两个负数绝对值太大:对应的补码太小,不能向符号位产生进位,使符号位相加后,向前产生进位。1、两异号数相加或两同号数相减是否会产生溢出?2、仅当两同号数相加或两异号数相减时才有可能产生溢出?问题:决不会产生溢出正确例:X=-0.100Y=-0.101,求X+Y=?解:[X]补=1.100[Y]补=1.011+11110.丢到1两负数相加,结果应为负数,但运算结果为正数,表明有溢出发生。数据向前无进位,符号位向前有进位3、溢出的判断1)采用单符号位的判断方法例:X=100,Y=-110,求X-Y=?解:[X]补=0100[-Y]补

6、=0110+011一个正数减去一个负数,结果为正数,但计算结果为负数,表明有溢出发生,出错数据向前有进位,符号位向前无进位0溢出逻辑表达式为:V=Cf⊕C0(其中Cf为符号位产生的进位,C0为最高有效位产生的进位)溢出的原因:之所以发生错误,是因为运算结果产生了溢出。两个正数相加,结果大于机器所能表示的最大正数,称为上溢。而两个负数相加,结果小于机器所能表示的最小负数,称为下溢。为了判断“溢出”是否发生,可采用两种检测的方法。第一种方法是采用双符号位法,这称为“变形补码”或“模4补码”。从而可使模2补码所能表示的数的范围扩大一倍。定点运算器——定点加减法

7、采用双符号位的判断方法每个操作数的补码符号用两个二进制数表示,称为交形补码,用“00”表示正数,“11”表示负数,左边第一位叫第一符号位,右边第一位称为第二符号位,两个符号位同时参加运算,如果运算结果两符号位相同,则没有溢出发生。如果运算结果两符号位不同,则表明产生了溢出。“10”表示负溢出(下溢出),说明运算结果为负数,“01”表示正溢出(下溢出),说明运算结果为正数。定点运算器——定点加减法采用双符号位的判断方法高符号位低符号位结果00正01上溢10下溢11负定点运算器——定点加减法利用进位值的判断方法两补码数进行加减运算时,若最高数值位产生向符号的

8、进位而符号位不产生进位时,发生正溢出,若最高数值位无进位而符号位有进位时,发生负

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。