第六章计算机的运算方法091127.ppt_第1页
第六章计算机的运算方法091127.ppt_第2页
第六章计算机的运算方法091127.ppt_第3页
第六章计算机的运算方法091127.ppt_第4页
第六章计算机的运算方法091127.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学 软件学院 赖晓晨,计算机组成原理,大连理工大学 软件学院 赖晓晨,大连理工大学 软件学院 赖晓晨,无符号数和有符号数 数的定点表示和浮点表示 定点运算 浮点四则运算 算术逻辑单元,第五章 计算机的运算方法,大连理工大学 软件学院 赖晓晨,6.1 无符号数和有符号数,计算机中的数均存放在寄存器中,寄存器的位数即机器字长。 计算机中参与运算的有两类数: 无符号数 有符号数,大连理工大学 软件学院 赖晓晨,一、无符号数,无符号数:没有符号的数,寄存器的每一位存放的都是数值。,8 位 0 255,16 位 0 65535,unsigned int,大连理工大学 软件学院 赖晓晨,二、有符

2、号数,有符号数:数字的极性也用二进制数表示,0代表正数,1代表负数,即符号位也被数字化了,符号位放在数字的前端。 这种把符号“数字化”的数,叫做机器数,而数字原本的(带有正负号的)值称为真值。,signed int,大连理工大学 软件学院 赖晓晨,1、机器数和真值,带符号的数 符号数字化的数,+ 0.1011,+ 1100, 1100, 0.1011,真值 机器数,大连理工大学 软件学院 赖晓晨,1、机器数和真值,带符号的数 符号数字化的数,+ 0.1011,+ 1100, 1100, 0.1011,真值 机器数,机器数按照不同的编码格式,分为原码、 反码、补码、移码等类型。,大连理工大学 软

3、件学院 赖晓晨,2、原码表示法,符号位为0表示正数,为1表示负数,数值部分为真值的绝对值,又称为带符号的绝对值。 约定正数的符号位与数值位用逗号分隔,小数的符号位与数值位用小数点分隔。,大连理工大学 软件学院 赖晓晨,整数的原码定义,整数,x 为真值,n 为整数的位数,如,x = +1110,x原 = 0 , 1110,x原 = 24 + 1110 = 1 , 1110,用 逗号 将符号位 和数值部分隔开,大连理工大学 软件学院 赖晓晨,小数的原码定义,x 为真值,如,x = + 0.1101,x原 = 0 . 1101,x = + 0.1000000,x原 = 0 . 1000000,用 小

4、数点 将符号 位和数值部分隔开,用 小数点 将符号 位和数值部分隔开,大连理工大学 软件学院 赖晓晨,原码运算举例,例 6.1 已知 x原 = 1.0011 求 x,解:,例 6.2 已知 x原 = 1,1100 求 x,解:,0.0011,1100,由定义得,由定义得,大连理工大学 软件学院 赖晓晨,例 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,大连理工大学 软件学

5、院 赖晓晨,原码表示法总结,优点:表示方法简单,直观 缺点:加减运算复杂 判断正负 确定位置 判断结果符号 电路复杂、不统一 能否把减法转换为加法呢?,大连理工大学 软件学院 赖晓晨,3、补码表示法,顺时针转3格,与逆时针 转(12-3=9)格的结果一致, 与顺时针转(12+3=15)格的结果也一致。 12是一个特殊的数字,是会被“自动丢弃”的,这个数字实际是钟表的“模”,而时间值需要对12求模。 3和-9这一对数,对于钟表的意义是相同的,这一对数,互称为一12为模的补数,+3可以用-9代替,同理-3可用+9代替。,大连理工大学 软件学院 赖晓晨,3、补码表示法,顺时针转3格,与逆时针 转(1

6、2-3=9)格的结果一致, 与顺时针转(12+3=15)格的结果也一致。 12是一个特殊的数字,是会被“自动丢弃”的,这个数字实际是钟表的“模”,而时间值需要对12求模。 3和-9这一对数,对于钟表的意义是相同的,这一对数,互称为一12为模的补数,+3可以用-9代替,同理-3可用+9代替。,减去一个数,可以用加上这个数的补数来代替,从而可以把减法转变为加法。可归纳出以下结论: 1.一个负数可用其正的补数来代替,这个正补数可以用此负数加模来求得。 2.一个正数和负数互为补数时,他们的绝对值之和即为模数。 3.正数的补数即该正数本身。 4.互为补数,大连理工大学 软件学院 赖晓晨,看一个二进制的例

7、子,用二进制数计算6-3的值。,6 - 3=6-3 =6+-3 =0,110+1,101 =10,011 =0,011 =+3,大连理工大学 软件学院 赖晓晨,补码的定义,整数,x 为真值,n 为整数的位数(不包括符号位),如,x = +1010,=,x补 = 0,1010,1,0101000,用 逗号 将符号位 和数值部分隔开,1011000,100000000,大连理工大学 软件学院 赖晓晨,补码的定义,x 为真值,x = + 0.1110,如,x补 = 0.1110,1.0100000,=,小数,大连理工大学 软件学院 赖晓晨,求补码的方法,定义法 (负数的补码)反码+1法(p224前1

8、0行) (负数的补码)符号位不变,数值位从左到右依次取反,最右边的1及其后的0不变。 补码的补码为原码,大连理工大学 软件学院 赖晓晨,补码举例,解:,x = + 0.0001,解:由定义得,x = x补 2,= 1.0001 10.0000,由定义得,例 6.5 已知 x补 = 0.0001,求 x,大连理工大学 软件学院 赖晓晨,补码举例,解:,x = + 0.0001,解:由定义得,x = x补 2,= 1.0001 10.0000,由定义得,例 6.5 已知 x补 = 0.0001,求 x,x原 = 1.1111,大连理工大学 软件学院 赖晓晨,补码练习:求下列真值的补码,真值,0,

9、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原,大连理工大学 软件学院 赖晓晨,4、反码表示法,反码经常用作求补码的过渡。定义如下:,整数,如,x = +1101,x反 = 0,1101,= 1,0010,x 为真值,n 为整数的位数,大连理工大学 软件学院 赖晓晨,4、反码表示法,小数,x = + 0.1101,x反 = 0.1101,= 1.0101,如,x 为真值,n 为小数的位数,大连理工大

10、学 软件学院 赖晓晨,反码举例,例 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,解:,大连理工大学 软件学院 赖晓晨,三种机器数的小结,最高位为符号位,书写上用“,”(整数)或“.”(小数)将数值部分和符号位隔开。 对于正数,原码 = 补码 = 反码 对于负数 ,符号位为 1,其 数值部分为: 原码除符号位外每位取反末位加 1得到补码原码除符号位外每位取反得到反码。,大连

11、理工大学 软件学院 赖晓晨,例6.11,-0,-1,-128,-127,-127,-126,-3,-2,-1,设机器数字长为 8 位(其中位为符号位) 对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围各为多少?,大连理工大学 软件学院 赖晓晨,例6.12,解:,大连理工大学 软件学院 赖晓晨,例6.12,解:,y连同符号位在内,按位取反,末位加1,即得-y,大连理工大学 软件学院 赖晓晨,5、移码表示法,补码表示很难直接判断其真值大小,如,十进制,x + 25,+10101 + 100000,+11111 + 100000,0,10101,1,01011,0,11111,1

12、,00001,+10101, 10101,+11111, 11111,= 110101,= 001011,= 111111,= 000001,二进制,补码,大连理工大学 软件学院 赖晓晨,移码的定义,x 为真值,n 为 整数的位数,大连理工大学 软件学院 赖晓晨,移码的定义,x 为真值,n 为 整数的位数,x 为真值,n 为整数的位数(不包括符号位),补码的定义,大连理工大学 软件学院 赖晓晨,移码的定义,x 为真值,n 为 整数的位数,x 为真值,n 为整数的位数(不包括符号位),补码的定义,移码与补码的数值部分相同,符号位相反。,大连理工大学 软件学院 赖晓晨,移码在数轴上的表示,如,x

13、= 10100,x移 = 25 + 10100,用 逗号 将符号位 和数值部分隔开,x = 10100,x移 = 25 10100,= 1,10100,= 0,01100,大连理工大学 软件学院 赖晓晨,移码的特点,当 x = 0 时,+0移 = 25 + 0,当 n = 5 时,可见,最小真值的移码为全 0。用移码表示浮点数的阶码能方便地判断浮点数的阶码大小,= 1,00000,= 1,00000,= 000000,大连理工大学 软件学院 赖晓晨,真值、补码和移码的对照表,- 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

14、,0 0 0 0 0 0,1 0 0 0 0 0,大连理工大学 软件学院 赖晓晨,6.2 数的定点表示和浮点表示,小数点按约定方式标出,一、定点表示,定点机,小数定点机,整数定点机,原码,补码,反码,(1 2-n) +(1 2-n),(2n 1) +( 2n 1), 1 +(1 2-n),(1 2-n) +(1 2-n),(2n 1) +( 2n 1), 2n +( 2n 1),大连理工大学 软件学院 赖晓晨,二、浮点表示,计算机中 r 取 2、4、8、16 等,当 r = 2,N = 11.0101,= 0.110101210,= 1.1010121,= 1101.012-10,= 0.00

15、1101012100,S 小数、可正可负,j 整数、可正可负,规格化数,大连理工大学 软件学院 赖晓晨,1、浮点数的表示形式,Sf 代表浮点数的符号,n 其位数反映浮点数的精度,m 其位数反映浮点数的表示范围,jf 和 m 共同表示小数点的实际位置,大连理工大学 软件学院 赖晓晨,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),设 m = 4,n =10,上溢 阶码 最大阶码 中断溢出处理 下溢 阶码 最小阶码 按 机器零 处理,2-1

16、5 2-10,大连理工大学 软件学院 赖晓晨,练习,设机器数字长为 24 位,欲表示3万的十进制数,试问在保证数的最大精度的前提下,除阶符、数符各 取1 位外,阶码、尾数各取几位?,满足 最大精度 可取 m = 4,n = 18,解:,大连理工大学 软件学院 赖晓晨,3、浮点数的规格化表示,r=1, 尾数的最高位为1 r=2, 尾数的最高2位不全为0 r=3, 尾数的最高3为不全为0,大连理工大学 软件学院 赖晓晨,4、浮点数的规格化,r = 2,左规 尾数左移 1 位,阶码减 1,右规 尾数右移 1 位,阶码加 1,r = 4,左规 尾数左移 2 位,阶码减 1,右规 尾数右移 2 位,阶码

17、加 1,r = 8,左规 尾数左移 3 位,阶码减 1,右规 尾数右移 3 位,阶码加 1,基数 r 越大,可表示的浮点数的范围越大,基数 r 越大,浮点数的精度降低,大连理工大学 软件学院 赖晓晨,最大正数,= 215( 1210 ),最小正数,最大负数,最小负数,= 21521,= 215( 12 10 ),= 216,= 21521,= 216,设 m = 4,n = 10,r = 2,尾数规格化后的浮点数表示范围,例题,大连理工大学 软件学院 赖晓晨,例题,将 + 写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取 10 位,数符取 1 位,浮点数阶码取 5 位

18、(含1位阶符)。,解:,二进制形式,定点表示,浮点规格化形式,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,大连理工大学 软件学院 赖晓晨,x = 111010,0000,例题,将 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论