第2章 运算方法和运算器.ppt
《第2章 运算方法和运算器.ppt》由会员分享,可在线阅读,更多相关《第2章 运算方法和运算器.ppt(102页珍藏版)》请在三一办公上搜索。
1、第2章 运算方法和运算器,2023年3月5日星期日,2,目录,2.0 数据的类型2.1 数据与文字的表示方法(掌握)2.2 定点加法、减法运算(掌握)2.3 定点乘法运算(了解)2.4 定点除法运算(了解)2.5 定点运算器的组成(了解)2.6 浮点运算方法和浮点运算器(掌握),2023年3月5日星期日,3,学习要求,掌握定点和浮点数的表示方法,表示范围;掌握定点数的补码加减法,以及溢出判断方法;了解定点数常用的乘除法运算方法;掌握浮点数的加减运算方法;了解常用的数据校验方法;清楚运算器部件的组成结构及设计方法。,2023年3月5日星期日,4,2.0 数据的类型(1/2),按数制分:十进制:在
2、微机中直接运算困难;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;按数据格式分:真值:没有经过编码的直观数据表示方式;带正负号的数据,任何数制均可;机器数:符号化后的数值表示;符号也被编码,不能随便忽略任何位置上的0或1;位数固定,一般为字节整倍数,如8位、16位、32位;可用原码、反码、补码、移码等形式编码;,2023年3月5日星期日,5,2.0 数据的类型(2/2),按数据的表示范围分:定点数小数点位置固定,数据表示范围小;浮点数小数点位置不固定,数据表示范围较大。按能否表示负数分:无符号数数据所有位均为表示数值,只能表示正数;有符号数有正负之分,最高位为符号位
3、,其余位表示数值。,2023年3月5日星期日,6,2.1 数据与文字的表示方法,2.1.1 数据格式(定点数表示)2.1.2 数的机器码表示2.1.1 数据格式(浮点数表示)2.1.3 字符与字符串的表示方法2.1.4 汉字的表示方法2.1.5 校验码,2023年3月5日星期日,7,定点数:小数点固定在某一位置的数据;纯小数:表示形式 有符号数 x=xSx-1x-2x-n|x|1-2-n;xs为符号位无符号数 x=x0 x-1x-2x-n 0 x 1-2-n;x0=0数据表示范围 0.00=0|x|1-2-n=0.11纯整数:表示形式 有符号数 x=xs x n-1 x 1 x 0|x|2n-
4、1;xs为符号位 无符号数 x=xn x n-1 x 1 x 0 0 x2n+1-1;xn为数值位注意:小数点的位置是机器约定好的,并没有实际的保存。,x0 x-1x-2x-3 x-n,xnxn-1xn-2x1x0,2.1.1 数据格式定点数,设采用n+1位数据,2023年3月5日星期日,8,定点机的特点,所能表示的数据范围小运算精度较低存储单元利用率低,2023年3月5日星期日,9,2.1.2 数的机器码表示,重点:1、原码、补码、移码的表示形式2、补码的定义3、原码、补码、移码的表示范围,2023年3月5日星期日,10,1、原码表示法定义,定义:定点小数:x原定点整数:x原举例:+0.11
5、0 原 0.110-0.110原 1-(-0.110)=1.110+110原 0110-110原 23-(-110)1000+110=1110,x1 x 0,1-x=1+|x|0 x-1,x2n x 0,2n-x=2n+|x|0 x-2n,实际机器中保存时并不保存小数点,2023年3月5日星期日,11,1、原码表示法特点,0有两种表示法+0原=0000;-0原=1000数据表示范围定点小数:-1X1定点整数:-2nX2n(若数值位n=3,即:-8X8)优点与真值对应关系简单;缺点参与运算复杂,需要将数值位与符号位分开考虑。,2023年3月5日星期日,12,2、补码表示法定义,定义:定点小数:x
6、补定点整数:x补举例:+0.110 补 0.110-0.110 补 10+(-0.110)=1.010+110补 0110-110 补 24+(-110)10000-110=1010,x 1 x 0,2+x=2-|x|0 x-1,x 2n x 0,2n+1+x=2n+1-|x|0 x-2n,x为n+1位,(mod 2),(mod 2n+1),实际机器中保存时并不保存小数点,2023年3月5日星期日,13,2、补码表示法特点,0有唯一的表示法-0补 24+(-0)mod 24 0000+0补数据表示范围定点小数:-1X1定点整数:-2nX2n(若数值位n=3,则-8X8)加减运算规则XY补X补
7、Y补(mod 2)/(mod 2n+1)只要结果不溢出,可将补码符号位与数值位一起参与运算。x补补x原补码除2操作,可通过算术右移实现-0.0110补11010,则(-0.0110)/10补=11101,真值为-0.0011,比原码多一个负的最小值表示,其编码为1000,2023年3月5日星期日,14,由原码求补码,由原码求补码的简便原则(负数)除符号位以外,其余各位按位取反,末位加1;除符号位以外,从最低位开始,遇到的第一个1以前的各位保持不变,之后各位取反。,例:X原=1 1 0 1 1 0 1 0 0,X补=,1 0 1 0 0 1,1 0 0,2023年3月5日星期日,15,由X补求-
8、X补连同符号位的所有位一起取反,末位加1;例:X=-0.010 1011X补=1.101 0101;-X补=0.010 1011;即:,由-X补求X补,此规则同样适用。,求相反数的补码,X补=1 1 0 1 0 1 0 1,0 0 1 0 1 0 1 0,+,1,-X补=0 0 1 0 1 0 1 1,2023年3月5日星期日,16,3、移码表示法,移码通常用于表示浮点数的阶码用定点整数形式的移码定义:x移=2n+x2n x-2n与x补的区别:符号位相反优点:可以比较直观地判断两个数据的大小;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;当阶码为全0时,浮点数下溢。,4位
9、补码与移码,0000,0001,0010,1000,1001,1111,1000,1001,1010,0000,0001,0111,2023年3月5日星期日,17,原、补、移码的编码形式,原码和补码正数:原、补码的编码完全相同;负数:符号位为1;数值部分与原码各位相反,且末位加1;补码和移码无论正数还是负数:符号位相反,数值位相同;,2023年3月5日星期日,18,课本P22例6以定点整数为例,用数轴形式说明原码、补码、移码表示范围和可能的数位组合情况。,2023年3月5日星期日,19,课本P22例7将十进制真值(127,1,0,1,127)列表表示成二进制数及原码、反码、补码、移码值。,-1
10、11 1111,1111 1111,1000 0000,1000 0001,0000 0001,-000 0001,1000 0001,1111 1110,1111 1111,0111 1111,+000 0000,-000 0000,0000 0000,0000 0000,1000 0000,1111 1111,0000 0000,1000 0000,+000 0001,0000 0001,0000 0001,0000 0001,1000 0001,+111 1111,0111 1111,0111 1111,0111 1111,1111 1111,2023年3月5日星期日,20,P22例8设
11、机器字长16位,定点表示,数值15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?,(215-1)=+32767,-(215-1)=-32767,(1-2-15)=+(1-1/32768),-(1-2-15)=-(1-1/32768),定点原码整数最大正数最小负数定点原码小数最大正数最小负数,若用补码表示呢?最小正数、最大负数各是多少呢?,2023年3月5日星期日,21,2.1.1 数据格式浮点数,浮点数:小数点位置可变,形如科学计数法中的数据表示。浮点数格式定义:N=Re MM:尾数(mantissa),是
12、一个纯小数,表示数据的全部有效数位,其位数决定着数值的精度;R:基数(radix),可以取2、8、10、16,表示当前的数制;微机中,一般默认为2,隐含表示。e:阶码(exponent),是一个整数,用于指出小数点在该数中的位置,其位数决定着数据的取值范围。机器数的一般表示形式,课本P17,2023年3月5日星期日,22,科学计数法的表示,一个十进制数可以表示成不同的形式:同理,一个二进制数也可以有多种表示:,2023年3月5日星期日,23,浮点数举例,请将数据-12.625D用16位的浮点数形式表示。数据格式如下,阶码(含阶符)4位,尾数(含数符)12位-12.625D=-1100.101
13、B=-0.1100 10124 B设尾数用原码表示,阶码用补码表示;浮点数表示为:0 100;1.110 0101 0000设尾数用补码表示,阶码用移码表示;浮点数表示为:1 100;1.001 1011 0000,2023年3月5日星期日,24,浮点数规格化,浮点数的表示1.1120=0.11121=0.0011123规格化的目的保证浮点数表示的唯一性;保留更多地有效数字,提高运算的精度。规格化要求|尾数|0.5;规格化处理:尾数向左移n位(小数点右移),同时阶码减n;尾数向右移n位(小数点左移),同时阶码加n。,右规,左规,2023年3月5日星期日,25,浮点数的规格化,尾数用原码表示时尾
14、数最高数值位为1;尾数形如0.1(正);或1.1(负);例如,0.01125要规格化则变为0.1124;0.01125要规格化则变为1.1124;尾数用补码表示时尾数最高数值位和尾数符号位相反;尾数形如0.1(正);或1.0(负)例如,0.01125要规格化,则变为0.1124;0.01125要规格化,则变为1.0124;,2023年3月5日星期日,26,浮点数的数据表示范围,0,最大负数,最小正数,最小负数,最大正数,下溢区,上溢区,上溢区,负数区,正数区,浮点数的溢出:阶码溢出上溢:阶码大于所能表示的最大值;下溢:阶码小于所能表示的最小值;机器零:尾数为 0,或阶码小于所能表示的最小值;,
15、2023年3月5日星期日,27,浮点数的最值,设浮点数格式为,移码表示-2m,+(2m-1),补码表示-1,+(1-2-n),-12+(2m-1),-2-n2-2m,+2-n2-2m,+(1-2-n)2+(2m-1),1 111;1 0000,0 000;1 1111,0 000;0 0001,1 111;0 1111,同左,同左,0 000;1 0111,-(2-1+2-n)2-2m,+2-12-2m,同左,同左,0 000;0 1000,2023年3月5日星期日,28,【例1】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围
16、。,最大正数最大正数为0.11120111 即(129)231该浮点数即为规格化数形式;,2023年3月5日星期日,29,【例1】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。,最小正数非规格化数形式最小正数为0.0012100即29 2(25)=29 2-32规格化数形式最小正数为0.12100 21 2(25)233,2023年3月5日星期日,30,【例1】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。,最小负数最小负数为0.112011即(129)2
17、(251)=(129)231该浮点数即为规格化数形式;,2023年3月5日星期日,31,【例1】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。,最大负数非规格化数形式最大负数为0.0012100即 29 2(25)=29 2-32规格化数形式最大负数为0.12100即 21 2(25)=2-1 232,2023年3月5日星期日,32,【例2】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。,最大正数阶码最大、尾数最大最大正数为0.1112111(129)231最
18、小正数 最小正数为0.1000232 即2-3221 2-33注意:不是 规格化数据,2023年3月5日星期日,33,【例2】设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。,最小的负数最小负数为1.000231即231(1)=231最大的负数最大负数为0.1001232 即(29+21)232,2023年3月5日星期日,34,浮点数的IEEE754标准表示,IEEE(Institute of Electrical and Electronics Engineers)美国电气及电子工程师学会IEEE是一家总部在美国的工程技术和电子
19、专家的组织;IEEE致力于电气、电子、计算机工程和与科学有关的领域的开发和研究,也是计算机网络标准的主要制定者。为便于软件移植,按照 IEEE754 标准,实际机器内32位浮点数和64位浮点数的标准格式如下:,0,22,23,30,31,23位尾数,仅为数值部分,8位阶码,包括阶符,1位数符,32位浮点数,0,51,52,62,63,64位浮点数,高级语言中的float类型,高级语言中的double类型,2023年3月5日星期日,35,32位浮点数的IEEE754 标准表示,数符S:表示浮点数的符号,占1位,0正数、1负数;尾数M:23位,原码纯小数表示,小数点在尾数域的最前面;由于原码表示的
20、规格化浮点数要求,最高数值位始终为1,因此该标准中隐藏最高数值位(1),尾数的实际值为1.M;阶码E:8位,采用有偏移值的移码表示;移127码,即E=e+127,E的8位二进制数即为移127码的编码;浮点数的真值:N=(-1)S(1.M)2E-127,2023年3月5日星期日,36,IEEE754 标准格式(64位格式),其真值表示为:x=(1)S(1.M)2E1023 eE1023,2023年3月5日星期日,37,IEEE754 标准的数据表示,IEEE754 标准中的阶码E正零、负零E与M均为零,正负之分由数据符号确定;正无穷、负无穷E为全1,M为全零,正负之分由数据符号确定;阶码E的其余
21、值(0000 00011111 1110)为规格化数据;真正的指数e的范围为-126+127为避免浮点数下溢,允许采用比最小规格化数还小的非规格化数来表示,但此时尾数M前的隐含位为0,而不是1。,E=0000 0000,M=0000 0000,E=1111 1111,M=0000 0000,0000 0000 1111 1111,2023年3月5日星期日,38,课本P18 例1,例1 若浮点数的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:(41360000)16=0100 0001 0011 0110 0000 0000 0000 0000指数e=E-127=10
22、00 0010 0111 1111=0000 0011=3尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011浮点数 N=(-1)S(1.M)2e=(-1)0(1.011011)23=(11.375)10,数符S,阶码E,尾数M,2023年3月5日星期日,39,课本P18 例2,例2 将(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:(20.59375)10(10100.10011)2将尾数规范为1.M的形式:10100.100111.01001001124e4可得:M 010010011 S 0E 41271311000 00
23、11故,32位浮点数的754标准格式为:0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16,2023年3月5日星期日,40,求解技巧,将下列十进制数表示成IEEE754格式的32位浮点数形式存储。(1)27/32(2)11/512求解:(1)27/32=27*(1/32)=(0001 1011)2*2-5尾数:1.1011;阶码:e=-5+4=-1,E=e+127=126IEEE754数据0 0111 1110 1011 0000 0000 0000 0000 000(2)11/512=(0000 1011)2*2-9尾数:1.011;阶码:
24、e=-9+3=-6,E=e+127=121IEEE754数据0 0111 1001 0110 0000 0000 0000 0000 00,2023年3月5日星期日,41,例:将十进制数-54表示成二进制定点数(16位)和浮点数(16位,其中数值部分10位,阶码部分4位,阶符和数符各取1位),并写出它在定点机和浮点机中的机器数形式。,令 x=-54,则x=-11011016位定点数真值表示:x=-000 0000 0011 0110定点机器数形式 x原:x补:浮点数规格化表示:x=-(0.1101100000)2110浮点机器数形式 x原:x补:,非IEEE754标准,1 000 0000 0
25、011 0110,1 111 1111 1100 1010,0 0110;1 11 0110 0000,0 0110;1 00 1010 0000,2023年3月5日星期日,42,课本P23例9不看!,2023年3月5日星期日,43,2.1.1数据格式十进制数串的表示方法,字符串形式每个十进制数位占用一个字节;除保存各数位,还需要指明该数存放的起始地址和总位数;主要用于非数值计算的应用领域。压缩的十进制数串形式采用BCD码表示,一个字节可存放两个十进制数位;节省存储空间,便于直接完成十进制数的算术运算;用特殊的二进制编码表示数据正负,如1100正、1101负,2023年3月5日星期日,44,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 运算方法和运算器 运算 方法 运算器

链接地址:https://www.31ppt.com/p-2963420.html