好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

唐朔飞《计算机组成原理》精品教学:第6章 计算机的运算方法.ppt

111页
  • 卖家[上传人]:bao****ty
  • 文档编号:158171952
  • 上传时间:2020-12-30
  • 文档格式:PPT
  • 文档大小:2.69MB
  • / 111 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第章 计算机的运算方法,6.1 无符号数和有符号数,6.3 定点运算,6.2 数的定点表示和浮点表示,6.4 浮点四则运算,6.5 算术逻辑单元,,6.1 无符号数和有符号数,一、无符号数,8 位 0 255,16 位 0 65535,,带符号的数 符号数字化的数,+ 0.1011,+ 1100, 1100, 0.1011,真值 机器数,1. 机器数与真值,二、有符号数,6.1,,2. 原码表示法,带符号的绝对值表示,(1) 定义,整数,x 为真值,n 为整数的位数,如,x = +1110,x原 = 0 , 1110,x原 = 24 + 1110 = 1 , 1110,,,用 逗号 将符号位 和数值部分隔开,,,6.1,,小数,x 为真值,如,x = + 0.1101,x原 = 0 . 1101,x = + 0.1000000,x原 = 0 . 1000000,用 小数点 将符号 位和数值部分隔开,,用 小数点 将符号 位和数值部分隔开,,,6.1,,,(2) 举例,例 6.1 已知 x原 = 1.0011 求 x,解:,例 6.2 已知 x原 = 1,1100 求 x,解:,,,,,0.0011,1100,由定义得,由定义得,6.1,,例 6.4 求 x = 0 的原码,解:,设 x = + 0.0000,例 6.3 已知 x原 = 0.1101 求 x,解:, x = + 0.1101,同理,对于整数,+ 0 原 = 0,0000,+ 0.0000原 = 0.0000,根据 定义 x原 = 0.1101,6.1,,原码的特点:,简单、直观,但是用原码作加法时,会出现如下问题:,能否 只作加法 ?,加法 正 正,加,加法 正 负,加法 负 正,加法 负 负,减,减,加,正,可正可负,可正可负,负,6.1,,(1) 补的概念,时钟,逆时针,顺时针,3. 补码表示法,时钟以 12为模,6.1,,结论,一个负数加上 “模” 即得该负数的补数,一个正数和一个负数互为补数时 它们绝对值之和即为 模 数,计数器(模 16),1011,0000,1011,10000,6.1,(mod 23), + 101,(mod 2), + 1.0111,,,(mod24),(2) 正数的补数即为其本身,两个互为补数的数,分别加上模,结果仍互为补数, + 0101 + 0101,,,+ 0101,,,24+1 1011,1,0101,,用 逗号 将符号位 和数值部分隔开,,(mod24),可见,?,+ 0101,0101,0101,,1011,0101,,+,,,(mod24+1),6.1,100000,=,,(3) 补码定义,整数,x 为真值,n 为整数的位数,如,x = +1010,=,x补 = 0,1010,1,0101000,,用 逗号 将符号位 和数值部分隔开,,6.1,,1011000,,100000000,,小数,x 为真值,x = + 0.1110,如,x补 = 0.1110,1.0100000,=,,,6.1,,(4) 求补码的快捷方式,= 100000,= 1,0110,,10101 + 1,= 1,0110,,又x原 = 1,1010,6.1,+ 1,,(5) 举例,解:,x = + 0.0001,解:由定义得,x = x补 2,= 1.0001 10.0000,x原 = 1.1111,由定义得,6.1,,例 6.7,解:,x = x补 24+1,= 1,1110 100000,x原 = 1,0010,由定义得,6.1,,真值,0, 1000110,1, 0111010,0.1110,1.0010,0.0000,0.0000,1.0000,0,1000110,1,1000110,0.1110,1.1110,0.0000,1.0000,不能表示,练习,求下列真值的补码,由小数补码定义,= 1000110,x补 x原,6.1,,4. 反码表示法,(1) 定义,整数,如,x = +1101,x反 = 0,1101,= 1,0010,,,x 为真值,n 为整数的位数,6.1,,小数,x = + 0.1101,x反 = 0.1101,= 1.0101,如,,,x 为真值,6.1,n 为小数的位数,,(2) 举例,例 6.10 求 0 的反码,设 x = + 0.0000,+0.0000反= 0.0000,解:,同理,对于整数,+0反= 0,0000,例6.9 已知 x反 = 1,1110 求 x,例6.8 已知 x反 = 0,1110 求 x,解:,由定义得 x = + 1110,解:,6.1,,三种机器数的小结,对于正数,原码 = 补码 = 反码,6.1,,例6.11,-0,-1,-128,-127,-127,-126,-3,-2,-1,,6.1,设机器数字长为 8 位(其中位为符号位) 对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围各为多少?,,例6.12,解:,6.1,,,,(1) 移码定义,x 为真值,n 为 整数的位数,移码在数轴上的表示,如,x = 10100,x移 = 25 + 10100,用 逗号 将符号位 和数值部分隔开,x = 10100,x移 = 25 10100,= 1,10100,= 0,01100,,,6.1,,(2) 移码和补码的比较,设 x = +1100100,x移 = 27 + 1100100,x补 = 0,1100100,设 x = 1100100,x移 = 27 1100100,x补 = 1,0011100,补码与移码只差一个符号位,= 1,1100100,= 0,0011100,1,0,0,1,6.1,,(3) 真值、补码和移码的对照表,- 1 0 0 0 0 0, 0 0 0 0 0,+ 1 1 1 1 1,0 0 0 0 0 0,1 1 1 1 1 1,0 0 0 0 0 0,1 0 0 0 0 0,6.1,,当 x = 0 时,+0移 = 25 + 0,当 n = 5 时,可见,最小真值的移码为全 0,(4) 移码的特点,用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小,= 1,00000,= 1,00000,= 000000,6.1,,6.2 数的定点表示和浮点表示,小数点按约定方式标出,一、定点表示,定点机,小数定点机,整数定点机,原码,补码,反码,(1 2-n) +(1 2-n),(2n 1) +( 2n 1), 1 +(1 2-n), 2n +( 2n 1),(1 2-n) +(1 2-n),(2n 1) +( 2n 1),,二、浮点表示,计算机中 r 取 2、4、8、16 等,当 r = 2,N = 11.0101,= 0.110101210,= 1.1010121,= 1101.012-10,= 0.001101012100,计算机中 S 小数、可正可负,j 整数、可正可负,,,规格化数,6.2,,1. 浮点数的表示形式,Sf 代表浮点数的符号,n 其位数反映浮点数的精度,m 其位数反映浮点数的表示范围,jf 和 m 共同表示小数点的实际位置,6.2,,2. 浮点数的表示范围,2( 2m1)( 1 2n),2( 2m1)2n,2( 2m1)( 1 2n),2( 2m1)2n,215 ( 1 2-10),2-15 2-10,215 ( 1 2-10),上溢 阶码 最大阶码 下溢 阶码 < 最小阶码 按 机器零 处理,6.2,,2-15 2-10,练习,设机器数字长为 24 位,欲表示3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?,满足 最大精度 可取 m = 4,n = 18,解:,6.2,,3. 浮点数的规格化形式,r = 2,尾数最高位为 1,r = 4,尾数最高 2 位不全为 0,r = 8,尾数最高 3 位不全为 0,4. 浮点数的规格化,r = 2,左规 尾数左移 1 位,阶码减 1,右规 尾数右移 1 位,阶码加 1,r = 4,左规 尾数左移 2 位,阶码减 1,右规 尾数右移 2 位,阶码加 1,r = 8,左规 尾数左移 3 位,阶码减 1,右规 尾数右移 3 位,阶码加 1,基数 r 越大,可表示的浮点数的范围越大,基数不同,浮点数的 规格化形式不同,基数 r 越大,浮点数的精度降低,6.2,,例如:,最大正数,= 215( 1210 ),最小正数,最大负数,最小负数,= 21521,= 215( 12 10 ),= 216,= 21521,= 216,设 m = 4,n = 10,r = 2,尾数规格化后的浮点数表示范围,6.2,,三、举例,解:,二进制形式,定点表示,浮点规格化形式,x原 = 1, 0010; 0. 1001100000,x补 = 1, 1110; 0. 1001100000,x反 = 1, 1101; 0. 1001100000,定点机中,浮点机中,000,x = 0.0010011,x = 0.0010011,x = 0.10011000002-10,x原 = x补 = x反 = 0.0010011000,6.2,,x = 111010,0000,例 6.14,将 58 表示成二进制定点数和浮点数, 并写出它在定点机和浮点机中的三种机器数及阶码 为移码、尾数为补码的形式(其他要求同上例)。

      解:,设 x = 58,二进制形式,定点表示,浮点规格化形式,x原 = 1, 0000111010,x补 = 1, 1111000110,x反 = 1, 1111000101,x原 = 0, 0110; 1. 1110100000,x补 = 0, 0110; 1. 0001100000,x反 = 0, 0110; 1. 0001011111,定点机中,浮点机中,x阶移、尾补 = 1, 0110; 1. 0001100000,x = 111010,x = (0.1110100000) 2110,6.2,,例6.15,写出对应下图所示的浮点数的补码 形式 设 n = 10,m = 4, 阶符、数符各取 1位解:,真值,最大正数,最小正数,最大负数,最小负数,215(1 210),215 210,215 210,215(1 210),0,1111; 0.1111111111,1,0001; 0.0000000001,1,0001; 1.1111111111,0,1111; 1.0000000001,补码,6.2,,当浮点数 尾数为 0 时,不论其阶码为何值 按机器零处理,机器零,当浮点数 阶码等于或小于它所表示的最小 数 时,不论尾数为何值,按机器零处理,如 m = 4 n = 10,当阶码用移码,尾数用补码表示时,机器零为,有利于机器中“ 判 0 ” 电路的实现,当阶码和尾数都用补码表示时,机器零为,6.2,,四、IEEE 754 标准,符号位 S 阶码 尾数 总位数,1 8 23 32,1 11 52 64,1 15 64 80,尾数为规格化表示,非 “0” 的有效位最高位为 “1”(隐含),6.2,,6.3 定 点 运 算,一、移位运算,1. 移位的意义,15 m = 1500 cm,小数点右移 2 位,机器用语,左移 绝对值扩大,右移 绝对值缩小,在计算机中,移位与加减配合,能够实现乘除运算,,2. 算术移位规则,1,右移 添 1,左移 添 0,0,反 码,补 码,原 码,负数,0,原码、补码、反码,正数,添补代码,码 制,符号位不变,6.3,,例6.16,设机器数字长为 8 位(含位符号位),写出 A = +26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。

      解:,A = +26,则 A原 = A补 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.