资源预览内容
第1页 / 共102页
第2页 / 共102页
第3页 / 共102页
第4页 / 共102页
第5页 / 共102页
第6页 / 共102页
第7页 / 共102页
第8页 / 共102页
第9页 / 共102页
第10页 / 共102页
亲,该文档总共102页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 运算方法和运算器01 八月 20242目录目录2.0 数据的类型数据的类型2.1 数据与文字的表示方法数据与文字的表示方法 (掌握)(掌握)2.2 定点加法、减法运算定点加法、减法运算 (掌握)(掌握)2.3 定点乘法运算定点乘法运算 (了解)(了解)2.4 定点除法运算定点除法运算 (了解)(了解)2.5 定点运算器的组成定点运算器的组成 (了解)(了解)2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器(掌握)(掌握)01 八月 20243学习要求学习要求l掌握定点和浮点数的表示方法,表示范围;掌握定点和浮点数的表示方法,表示范围;l掌握定点数的补码加减法,以及溢出判断方法;掌握定点数的补码加减法,以及溢出判断方法;l了解定点数常用的乘除法运算方法;了解定点数常用的乘除法运算方法;l掌握浮点数的加减运算方法;掌握浮点数的加减运算方法;l了解常用的数据校验方法;了解常用的数据校验方法;l清楚运算器部件的组成结构及设计方法。清楚运算器部件的组成结构及设计方法。 01 八月 202442.0 数据的类型(数据的类型(1/2)l按数制分:按数制分:十进制:在微机中直接运算困难;十进制:在微机中直接运算困难;二进制:占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;十六进制:方便观察和使用;l按数据格式分:按数据格式分:真值:没有经过编码的直观数据表示方式;真值:没有经过编码的直观数据表示方式;u带正负号的数据,任何数制均可;带正负号的数据,任何数制均可;机器数:符号化后的数值表示;机器数:符号化后的数值表示;u符号也被编码,不能随便忽略任何位置上的符号也被编码,不能随便忽略任何位置上的0或或1 ;u位数固定,一般为字节整倍数,如位数固定,一般为字节整倍数,如8位、位、16位、位、32位位;u可用原码、反码、补码、移码等形式编码;可用原码、反码、补码、移码等形式编码;01 八月 202452.0 数据的类型(数据的类型(2/2)l按数据的表示范围分:按数据的表示范围分:定点数定点数u小数点位置固定,数据表示范围小;小数点位置固定,数据表示范围小;浮点数浮点数u小数点位置不固定,数据表示范围较大。小数点位置不固定,数据表示范围较大。l按能否表示负数分:按能否表示负数分:无符号数无符号数u数据所有位均为表示数值,只能表示正数;数据所有位均为表示数值,只能表示正数;有符号数有符号数u有正负之分,最高位为符号位,其余位表示数值。有正负之分,最高位为符号位,其余位表示数值。01 八月 202462.1 数据与文字的表示方法数据与文字的表示方法l2.1.1 数据格式(定点数表示)数据格式(定点数表示)l2.1.2 数的机器码表示数的机器码表示l2.1.1 数据格式(浮点数表示)数据格式(浮点数表示)l2.1.3 字符与字符串的表示方法字符与字符串的表示方法l2.1.4 汉字的表示方法汉字的表示方法l2.1.5 校验码校验码 01 八月 20247l定点数:小数点固定在某一位置的数据;定点数:小数点固定在某一位置的数据;纯小数:纯小数:u表示形式表示形式 有符号数有符号数 x=xSx-1x-2x-n |x|1-2-n ;xs为符号位为符号位无符号数无符号数 x=x0x-1x-2x-n 0x 1-2-n ;x0=0u数据表示范围数据表示范围 0.00= 0 |x| 1-2-n = 0.11纯整数:纯整数:u表示形式表示形式 有符号数有符号数 x=xs x n-1 x 1 x 0 |x|2n-1 ;xs为符号位为符号位 无符号数无符号数 x=xn x n-1 x 1 x 0 0x2n+1-1 ;xn为数值位为数值位l注意:小数点的位置是机器约定好的,并没有实际的保存。注意:小数点的位置是机器约定好的,并没有实际的保存。x0x-1x-2x-3x-nxnxn-1xn-2x1x02.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据01 八月 20248定点机的特点定点机的特点l所能表示的数据范围小所能表示的数据范围小l运算精度较低运算精度较低l存储单元利用率低存储单元利用率低01 八月 202492.1.2 数的机器码表示数的机器码表示l重点:重点:1、原码、补码、移码的表示形式、原码、补码、移码的表示形式2、补码的定义、补码的定义3、原码、补码、移码的表示范围、原码、补码、移码的表示范围01 八月 2024101、原码表示法、原码表示法定义定义l定义:定义:定点小数:定点小数:x原原定点整数:定点整数:x原原l举例:举例:+0.110 原原 0.110-0.110原原 1 - (-0.110) = 1.110+110原原 0110-110原原 23- (-110) 1000 +110 = 1110x1x01-x=1+|x|0x-1x2nx02n-x=2n+|x|0x-2n实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点01 八月 2024111、原码表示法、原码表示法特点特点l0有两种表示法有两种表示法+0原原 = 0000 ;-0原原 = 1000l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数: -2nX2n (若数值位(若数值位n=3,即:,即:-8Xx02+x=2-|x|0x-1x2nx02n+1+x=2n+1-|x|0x-2nx为为n+1位位(mod2)(mod2n+1)实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点01 八月 2024132、补码表示法、补码表示法特点特点l0有唯一的表示法有唯一的表示法-0补补 24+(-0 ) mod 24 0000 +0补补l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数: -2nX2n (若(若数值位数值位n=3,则,则-8X x -2nl与与x补补的区别:的区别:符号位相反符号位相反l优点:优点:可以比较直观地判断两个数据的大小;可以比较直观地判断两个数据的大小;u浮点数运算时,容易进行对阶操作;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;表示浮点数阶码时,容易判断是否下溢;u当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。真值真值补码补码移码移码-8-7-60+1+74位补码与移码位补码与移码00000001001010001001111110001001101000000001011101 八月 202417原、补、移码的编码形式原、补、移码的编码形式l原码和补码原码和补码正数:正数:u原、补码的编码完全相同;原、补码的编码完全相同;负数:负数:u 符号位为符号位为1;u数值部分与原码各位相反,且末位加数值部分与原码各位相反,且末位加1;l补码和移码补码和移码无论正数还是负数:无论正数还是负数:u符号位相反,数值位相同;符号位相反,数值位相同;01 八月 202418课本课本P22例例6以定点整数为例以定点整数为例,用数轴形式说明原码、补码、用数轴形式说明原码、补码、移码表示范围和可能的数位组合情况。移码表示范围和可能的数位组合情况。01 八月 202419课本课本P22例例7将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。十进制真十进制真值值二进制真二进制真值值原码表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示-127-10+1+127-111 11111111 1111 1000 0000 1000 0001 0000 0001-000 0001 1000 0001 1111 1110 1111 1111 0111 1111+000 0000-000 00000000 0000 0000 00001000 0000 1111 11110000 00001000 0000+000 0001 0000 0001 0000 0001 0000 0001 1000 0001+111 1111 0111 1111 0111 1111 0111 1111 1111 111101 八月 202420P22例例8设机器字长设机器字长16位,定点表示,数值位,定点表示,数值15位,数符位,数符1位,问:位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?定点原码小数表示时,最大正数是多少?最小负数是多少?0111 1111 1111 11111111 1111 1111 11110111 1111 1111 11111111 1111 1111 1111(215-1)=+32767-(215-1)=-32767(1-2-15)=+(1-1/32768)-(1-2-15)=-(1-1/32768)l定点原码整数定点原码整数最大正数最大正数最小负数最小负数l定点原码小数定点原码小数最大正数最大正数最小负数最小负数若用补码表示呢若用补码表示呢?最小正数、最大最小正数、最大负数各是多少呢负数各是多少呢?01 八月 2024212.1.1 数据格式数据格式浮点数浮点数l浮点数:小数点位置可变,形如浮点数:小数点位置可变,形如科学计数法科学计数法中的数据表示。中的数据表示。l浮点数格式定义:浮点数格式定义: N= Re MM:尾数:尾数(mantissa),是一个,是一个纯小数纯小数,表示数据的全部有效数,表示数据的全部有效数位,位,其位数决定着数值的精度其位数决定着数值的精度;R:基数:基数(radix) ,可以取,可以取2、8、10、16,表示当前的数制;,表示当前的数制;u微机中,一般默认为微机中,一般默认为2,隐含表示。,隐含表示。e: 阶码阶码(exponent) ,是一个,是一个整数整数,用于指出小数点在该数,用于指出小数点在该数中的位置,中的位置,其位数决定着数据的取值范围其位数决定着数据的取值范围。l机器数的一般表示形式机器数的一般表示形式阶符阶符阶码阶码数符数符尾数尾数数符数符阶符阶符阶码阶码尾数尾数课本课本P1701 八月 202422科学计数法的表示科学计数法的表示l一个十进制数可以表示成不同的形式:一个十进制数可以表示成不同的形式:l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示:01 八月 202423浮点数举例浮点数举例l请将数据请将数据-12.625D用用16位的浮点数形式表示。位的浮点数形式表示。数据格式如下,阶码(含阶符)数据格式如下,阶码(含阶符)4位,尾数(含数符)位,尾数(含数符)12位位l-12.625D = -1100.101 B = -0.1100 10124 Bl设尾数用原码表示,阶码用补码表示;设尾数用原码表示,阶码用补码表示;浮点数表示为:浮点数表示为: 0 100 ; 1.110 0101 0000l设尾数用补码表示,阶码用移码表示;设尾数用补码表示,阶码用移码表示;浮点数表示为:浮点数表示为: 1 100 ; 1.001 1011 0000阶符阶符阶码阶码数符数符尾数尾数1位位3位位1位位11位位01 八月 202424浮点数规格化浮点数规格化l浮点数的表示浮点数的表示1.1120=0.11121=0.0011123l规格化的目的规格化的目的保证浮点数表示的唯一性;保证浮点数表示的唯一性;保留更多地有效数字,提高运算的精度。保留更多地有效数字,提高运算的精度。l规格化要求规格化要求|尾数尾数|0.5;l规格化处理:规格化处理:尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,同时阶码减n;尾数向右移尾数向右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。右规右规左规左规01 八月 202425浮点数的规格化浮点数的规格化l尾数用原码表示时尾数用原码表示时尾数最高数值位为尾数最高数值位为1;尾数形如尾数形如0.1(正);或(正);或1.1(负);(负);例如,例如,0.01125要规格化则变为要规格化则变为0.1124; 0.01125要规格化则变为要规格化则变为1.1124;l尾数用补码表示时尾数用补码表示时尾数最高数值位和尾数符号位相反;尾数最高数值位和尾数符号位相反;尾数形如尾数形如0.1(正);或(正);或1.0(负)(负)例如,例如,0.01125要规格化,则变为要规格化,则变为0.1124; 0.01125要规格化,则变为要规格化,则变为1.0124;01 八月 202426浮点数的数据表示范围浮点数的数据表示范围0最大负数最大负数最小正数最小正数最小负数最小负数最大正数最大正数下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区尾数尾数负的最小值负的最小值负的最大值负的最大值 正的最小值正的最小值 正的最大值正的最大值阶码阶码正的最大值正的最大值负的最小值负的最小值 负的最小值负的最小值 正的最大值正的最大值l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出上溢:阶码大于所能表示的最大值;上溢:阶码大于所能表示的最大值;下溢:阶码小于所能表示的最小值;下溢:阶码小于所能表示的最小值;l机器零:机器零:尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值;01 八月 202427浮点数的最值浮点数的最值非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为1位阶符位阶符m位阶码位阶码1位数符位数符n位尾数位尾数移码表示移码表示-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 00000 000;1 11110 000;0 00011 111;0 1111同左同左同左同左0 000;1 0111-(2-1+2-n)2-2m+2-12-2m同左同左同左同左0 000;0 100001 八月 2024280 1 1 0 1 11 5 1 9 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最大正数最大正数最大正数为最大正数为0.11120111 即(即(129)231该浮点数即为该浮点数即为规格化规格化数形式;数形式;01 八月 202429【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最小正数最小正数非规格化数形式非规格化数形式u最小正数为最小正数为0.0012100u即即29 2(25)= 29 2-32规格化数形式规格化数形式u最小正数为最小正数为0.12100 u21 2(25) 2331 0 0 0 1 001 5 1 9 1 0 0 0 0 011 5 1 9 01 八月 202430【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最小负数最小负数最小负数为最小负数为0.112011即(即(129)2(251)= (129) 231该浮点数即为该浮点数即为规格化规格化数形式;数形式;0 1 1 1 1 11 m 1 n 01 八月 202431【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最大负数最大负数非规格化数形式非规格化数形式u最大负数为最大负数为0.0012100u即即 29 2(25)= 29 2-32规格化数形式规格化数形式u最大负数为最大负数为0. 12100u即即 21 2(25)= 2-1 2321 0 0 1 1 001 m 1 n 1 0 0 1 0 011 m 1 n 01 八月 202432【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l最大正数最大正数阶码最大、尾数最大阶码最大、尾数最大最大正数为最大正数为0.1112111(129)231l最小正数最小正数 最小正数为最小正数为0.1000232 即即2-3221 2-33注意:注意:不是不是 规格化数据规格化数据0 1 1 0 1 11 5 1 9 1 0 0 0 10 001 5 1 9 1 0 0 0 0 011 5 1 9 01 八月 202433【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l最小的负数最小的负数最小负数为最小负数为1.000231即即231(1)= 231l最大的负数最大的负数最大负数为最大负数为0.1001232 即(即( 29+ 21 )2320 1 1 1 0 01 5 1 91 0 0 1 0 1 11 5 1 9 1 0 0 1 1 1 11 5 1 9 01 八月 202434浮点数的浮点数的IEEE754标准表示标准表示lIEEE(Institute of Electrical and Electronics Engineers)美国电气及电子工程师学会美国电气及电子工程师学会IEEE是一家总部在美国的工程技术和电子专家的组织;是一家总部在美国的工程技术和电子专家的组织;IEEE致力于电气、电子、计算机工程和与科学有关的领域致力于电气、电子、计算机工程和与科学有关的领域的开发和研究,也是计算机网络标准的主要制定者。的开发和研究,也是计算机网络标准的主要制定者。 l为便于软件移植,按照为便于软件移植,按照 IEEE754 标准,实际机器内标准,实际机器内32位浮点位浮点数和数和64位浮点数的标准格式如下:位浮点数的标准格式如下:022233031SEM2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符3232位位浮点数浮点数051526263SEM6464位位浮点数浮点数高级语言中高级语言中的的floatfloat类型类型高级语言中的高级语言中的doubledouble类型类型01 八月 20243532位浮点数的位浮点数的IEEE754 标准表示标准表示l数符数符S:表示浮点数的符号,占表示浮点数的符号,占1 1位,位,0 0正数、正数、1 1负数;负数;l尾数尾数M:2323位,原码纯小数表示,小数点在尾数域的最前面;位,原码纯小数表示,小数点在尾数域的最前面;由于原码表示的规格化浮点数要求,由于原码表示的规格化浮点数要求,最高数值位始终为最高数值位始终为1,因,因此该标准中隐藏最高数值位此该标准中隐藏最高数值位(1),尾数的实际值为,尾数的实际值为1.M;l阶码阶码E:8 8位,采用有偏移值的移码表示;位,采用有偏移值的移码表示;移移127码,即码,即E=e+127,E的的8位二进制数即为移位二进制数即为移127码的编码;码的编码;l浮点数的真值:浮点数的真值:N=(-1)S(1.M)2E-127数符数符S阶码阶码E尾数尾数M01 八月 202436IEEE754 标准格式标准格式 (64位格式)位格式)其真值表示为:其真值表示为: x=(1)S(1.M)2E1023 eE102301 八月 202437IEEE754 标准的数据表示标准的数据表示lIEEE754 标准中的阶码标准中的阶码E正零、负零正零、负零uE与与M均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定;正无穷、负无穷正无穷、负无穷uE为全为全1,M为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定;阶码阶码E的其余值(的其余值(0000 00011111 1110)为规格化数据;)为规格化数据;u真正的指数真正的指数e的范围为的范围为-126+127l为避免浮点数下溢,允许采用为避免浮点数下溢,允许采用比最小规格化数还小的非规格化比最小规格化数还小的非规格化数数来表示,但此时尾数来表示,但此时尾数M前的隐含位为前的隐含位为0,而不是,而不是1。E=0000 0000,M=0000 0000E=1111 1111,M=0000 00000000 0000 1111 111101 八月 202438课本课本P18 例例1l例例1 若浮点数的若浮点数的754标准存储格式为标准存储格式为(41360000)16,求其浮,求其浮点数的十进制数值。点数的十进制数值。 l解:解:(41360000)16 = 0100 0001 0011 0110 0000 0000 0000 0000指数指数e=E-127= 1000 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尾数尾数M01 八月 202439课本课本P18 例例2l例例2 将将(20.59375)10转换成转换成754标准的标准的32位浮点数的二进制存位浮点数的二进制存储格式。储格式。l解:解:(20.59375)10(10100.10011)2将尾数规范为将尾数规范为1.M的形式:的形式: 10100.100111.01001001124e4可得:可得:M 010010011 S 0E 41271311000 0011故,故,32位浮点数的位浮点数的754标准格式为:标准格式为: 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 01 八月 202440求解技巧求解技巧l将下列十进制数表示成将下列十进制数表示成IEEE754格式的格式的32位浮点数形式存储。位浮点数形式存储。(1)27/32 (2)11/512l求解:求解:(1)27/32=27*(1/32) = (0001 1011)2*2-5u尾数:尾数:1.1011;阶码:阶码:e=-5+4=-1 ,E=e+127=126uIEEE754数据数据0 0111 1110 1011 0000 0000 0000 0000 000(2)11/512= (0000 1011)2*2-9u尾数:尾数:1.011;阶码:阶码:e=-9+3=-6 ,E=e+127=121uIEEE754数据数据0 0111 1001 0110 0000 0000 0000 0000 0001 八月 202441例:将十进制数例:将十进制数-54表示成表示成二进制定点数二进制定点数(16位位)和和浮点数浮点数(16位,其中数值部分位,其中数值部分10位,阶码部分位,阶码部分4位,阶符和数符各位,阶符和数符各取取1位位),并写出它在定点机和浮点机中的机器数形式。,并写出它在定点机和浮点机中的机器数形式。l令令 x = -54,则,则x = -110110l16位定点数真值表示:位定点数真值表示: x = -000 0000 0011 0110定点机器数形式定点机器数形式 x原原: x补补:l浮点数规格化表示:浮点数规格化表示:x = -(0.1101100000)2110浮点机器数形式浮点机器数形式 x原原: x补补:非非IEEE754标准标准1 000 0000 0011 01101 111 1111 1100 10100 0110 ; 1 11 0110 00000 0110 ; 1 00 1010 000001 八月 202442课本课本P23例例9不看!不看!01 八月 2024432.1.1数据格式数据格式十进制数串的表示方法十进制数串的表示方法l字符串形式字符串形式每个十进制每个十进制数位数位占用一个字节;占用一个字节;除保存各数位,还需要指明该数存放的起始地址和总位数;除保存各数位,还需要指明该数存放的起始地址和总位数;主要用于非数值计算的应用领域。主要用于非数值计算的应用领域。 l压缩的十进制数串形式压缩的十进制数串形式采用采用BCD码表示,一个字节可存放两个十进制数位;码表示,一个字节可存放两个十进制数位;节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算; 用特殊的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负01 八月 2024442.1.3 字符与字符串的表示方法字符与字符串的表示方法lASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码)包括包括128个字符,共需个字符,共需7位编码;位编码;ASCII码规定:最高位为码规定:最高位为0,余下,余下7位作为位作为128个字符的编码。个字符的编码。最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。l字符串字符串指连续的一串字符,指连续的一串字符, 每个字节存一个字符。每个字节存一个字符。当存储字长为当存储字长为2、或、或4个字节时,在同一个存储单元中个字节时,在同一个存储单元中;u可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内容;u或按从高位字节向低位字节的次序顺序存放字符串的内容。或按从高位字节向低位字节的次序顺序存放字符串的内容。 01 八月 2024452.1.4 汉字的表示方法汉字的表示方法l汉字的输入编码汉字的输入编码 目的:直接使用西文标准键盘把汉字输入到计算机目的:直接使用西文标准键盘把汉字输入到计算机 。 分类:主要有数字编码、拼音码分类:主要有数字编码、拼音码 、字形编码三类。、字形编码三类。l汉字内码汉字内码用于汉字信息的存储、交换、检索等操作的机内代码。用于汉字信息的存储、交换、检索等操作的机内代码。如:如:GB2312、UNICODE编码。编码。l汉字字模码汉字字模码用点阵表示的汉字字形代码,用于汉字的输出。用点阵表示的汉字字形代码,用于汉字的输出。01 八月 202446显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内码机内码输入码向机内码转换输入码向机内码转换中文编码中文编码字符代码化(输入)字符代码化(输入)数字码数字码拼音码拼音码字形码字形码01 八月 202447汉字字模码汉字字模码288288128128727201 八月 2024482.1.5 校验码(数据校验)校验码(数据校验)l数据校验原因数据校验原因为减少和避免数据在计算机系统运行或传送过程中发生错误,为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持。在数据的编码上提供了检错和纠错的支持。l数据校验码的定义数据校验码的定义能够发现某些错误或具有自动纠错能力的数据编码;能够发现某些错误或具有自动纠错能力的数据编码;也称检错码;也称检错码;l数据校验的基本原理是数据校验的基本原理是扩大码距扩大码距;码距码距:任意任意两个合法码之间不同的二进制位的两个合法码之间不同的二进制位的最少位数最少位数;仅有一位不同时,称其码距为仅有一位不同时,称其码距为1。01 八月 202449码距及作用码距及作用l设用四位二进制表示设用四位二进制表示16种状态种状态16种编码都用到了,此时码距为种编码都用到了,此时码距为1;任何一种状态的四位码中的一位或几位出错,就变成另一个任何一种状态的四位码中的一位或几位出错,就变成另一个合法码;合法码;无检错能力。无检错能力。l若用四位二进制表示若用四位二进制表示8个状态个状态只用其中的只用其中的8种编码,而把另种编码,而把另8种编码作为非法编码;种编码作为非法编码;可使码距扩大为可使码距扩大为2;u注意:并不是任选注意:并不是任选8种编码都可扩大码距;种编码都可扩大码距; 01 八月 202450校验码的类型校验码的类型l奇偶校验码奇偶校验码根据数据中根据数据中“1”的个数,设置的个数,设置1位校验位的值;位校验位的值;分分奇校验奇校验和和偶校验偶校验两种,两种,只能检错,无纠错能力只能检错,无纠错能力;l海明校验码海明校验码在奇偶校验的基础上,增加校验位而得;在奇偶校验的基础上,增加校验位而得;具有检错和纠错的能力具有检错和纠错的能力;l循环冗余校验码(循环冗余校验码(CRC)通过模通过模2的除法运算建立数据信息和校验位之间的约定关系;的除法运算建立数据信息和校验位之间的约定关系;具有很强的检错纠错能力。具有很强的检错纠错能力。01 八月 2024512.2 定点加法、减法运算定点加法、减法运算 l2.2.1 补码加法补码加法l2.2.2 补码减法补码减法l2.2.3 溢出概念与检验方法溢出概念与检验方法l2.2.4 基本的二进制加法、减法器基本的二进制加法、减法器01 八月 2024522.2.1 补码加法补码加法l补码加法运算基本公式补码加法运算基本公式定点整数:定点整数: x+y补补 x补补 + y补补 (mod 2n+1)定点小数:定点小数: x+y补补 x补补 + y补补 (mod 2) l证明证明(1)证明依据:补码的定义)证明依据:补码的定义(以定点小数为例以定点小数为例)(2)证明思路:分三种情况。)证明思路:分三种情况。 (a) x、y均为正值(均为正值(0,0) (b) x、y均为负值(均为负值(0,0) (c) x、y一正一负(一正一负(0,0 或者或者0) 01 八月 202453补码加法公式证明(补码加法公式证明(1/2)证证明:明:(a) 0, 0补补补补补补(mod2)(b)0,0x补补=2+x,y补补=2+yx补补+y补补=2+x+2+y=2+(2+x+y)=2+x+y补补(mod2)=x+y补补01 八月 202454补码加法公式证明(补码加法公式证明(2/2)(c)0,0 (000的证明与此相同的证明与此相同) x补补=x , y补补=2+y x补补+ y补补= x+2+y =2+ (x+y) 当当x+y0时,时,2+(x+y) 2 ,进位,进位2必丢失;必丢失; 因因(x+y) 0 ,故,故x补补+y补补= x+y =x+y补补 (mod 2) 当当x+y0时,时,2+(x+y) 2 因因(x+y) 0 ,故,故x补补+ y补补= 2+(x+y) =x+y补补 (mod 2)01 八月 202455定点数补码加法举例定点数补码加法举例例例11 +1001, +0101, 求。求。 解:解: 补补0 1001, 补补0 0101 补补 0 1001 补补0 0101 补补 0 1110 所以所以1110 例例12 x1011, 0101, 求。求。解:解:补补0 1011, 补补1 1011 补补0 1011 补补1 1011 补补 10 0110 所以所以+ 0110 01 八月 202456补码负的最小值的计算补码负的最小值的计算 -127 补补= -111 1111补补=1000 0001 -1 补补 = -000 0001补补= 1111 111111000 0000mod 281000 0000= -12801 八月 2024572.2.2 补码减法补码减法l 补码减法运算基本公式补码减法运算基本公式定点整数:定点整数:x - y补补x补补 - y补补x补补 + -y补补 (mod 2n+1)定点小数:定点小数:x - y补补x补补 - y补补x补补 + -y补补 (mod 2)l证明:只需要证明证明:只需要证明 补补补补 已证明已证明x+y补补 x补补 + y补补 ,故,故y补补x+y补补x补补 又又xy补补 x补补 + y补补 ,故,故y补补xy补补x补补 可得可得y补补 + y补补x+y补补+ xy补补x补补 x补补 x + y + xy补补x补补 x补补 x + x补补x补补 x补补0l补补等于等于补补的各位取反,末位加的各位取反,末位加1。01 八月 202458定点数补码减法举例定点数补码减法举例例例13 已知已知1 1110,2 + 1101, 求:求:1补补,1补补,2补补,2补补。l解:解:1 1补补 1 00101 1补补 1 1补补1 0 11010 00010 11102 2补补 0 11012 2补补2 2补补1 1 00100 00011 0011注意课本上注意课本上是将数据作是将数据作为定点小数为定点小数来处理的!来处理的!01 八月 202459定点数补码减法举例定点数补码减法举例 例例14 1101,0110,求。,求。l解解:补补0 1101,补补0 0110,补补1 1010补补 补补补补 0 1101 1 1010 10 0111 0 0111011101101)1101010011101 八月 20246001 八月 202460定点数补码加减法运算定点数补码加减法运算l基本公式基本公式定点整数:定点整数:x y补补 x补补 + y补补 (mod 2n+1)定点小数:定点小数:x y补补 x补补 + y补补 (mod 2)l定点数补码加减法运算定点数补码加减法运算符号位和数值位可同等处理;符号位和数值位可同等处理;只要结果不溢出只要结果不溢出,将结果按,将结果按2n+1或或2取模,即为本次取模,即为本次运算结果。运算结果。01 八月 202461例例 设机器字长为设机器字长为8位,位,补补1010 0011, 补补0010 1101 ,求,求xy。解解:补补1101 0011补补 补补补补 1010 0011 1101 0011 1 0111 0110 0111 0110118 1010 0011) 1101 00111 0111 0110x= 93,y= +45 计算过程中,产生了溢出!计算过程中,产生了溢出!9345=-138 Eyl若要求若要求XY的结果的结果S,则,则S =XY =MS2ES 其中其中 ,ES =Ex,MS =Mx(My SHR (Ex - Ey)l浮点数加减运算的步骤浮点数加减运算的步骤零操作数检查零操作数检查两操作数对阶两操作数对阶尾数相加减尾数相加减结果的规格化结果的规格化结果的舍入处理结果的舍入处理结果的溢出判断结果的溢出判断2.6.1 浮点数加减运算浮点数加减运算一个操作数为一个操作数为0 0,则不必运算,节省运算时间,则不必运算,节省运算时间使小数点位置对齐,为加减运算做准备使小数点位置对齐,为加减运算做准备以双符号位的补码形式进行加减法操作以双符号位的补码形式进行加减法操作将非规格化的结果值进行规格化处理将非规格化的结果值进行规格化处理尽量保持计算后数据的精确度尽量保持计算后数据的精确度以阶码的溢出为标准,若尾数溢出,则继以阶码的溢出为标准,若尾数溢出,则继续规格化处理续规格化处理01 八月 202491浮点数加减运算浮点数加减运算两操作数对阶两操作数对阶l对阶的原则对阶的原则以较大的阶码为标准,调整阶码较小的数据;以较大的阶码为标准,调整阶码较小的数据;u避免阶码较大的浮点数的尾数左移,导致最高有效数位丢失;避免阶码较大的浮点数的尾数左移,导致最高有效数位丢失;l具体操作具体操作求阶差求阶差E EXEY调整阶码较小的数据调整阶码较小的数据u若若E 0,则,则MY右移右移E位,结果的阶码为位,结果的阶码为EXu若若E 0,则,则MX右移右移|E|位,结果的阶码为位,结果的阶码为EYl例,例,XEX=0 001,MX=0.101;YEY=0 011,尾数,尾数MY=0.111阶差阶差E EXEY = 0 001-0 011 = - 10 X尾数尾数MX右移右移2位,位, MX=0.001 01 0增大阶码,尾增大阶码,尾数右移数右移01 八月 202492浮点数加减运算浮点数加减运算结果的规格化处理结果的规格化处理l两尾数加减的结果有两种情况两尾数加减的结果有两种情况尾数溢出尾数溢出u尾数右移尾数右移1位,阶码加位,阶码加1尾数为非规格化数据尾数为非规格化数据u尾数左移尾数左移1位,阶码减,直至数值位最高位与符号位相反。位,阶码减,直至数值位最高位与符号位相反。l接上例,对阶后接上例,对阶后E=EY=0 011,尾数,尾数MX=0.001 (01),MY=0.111尾数求和尾数求和MS = MX + MY = 00.001 01 + 00.111 = 01.000 01两符号位相反,应进行右规两符号位相反,应进行右规1位的操作位的操作则则MS = 00.100 (001) , ES= 011+1= 0 100两符号位为两符号位为01或或10右规右规左规左规补码表示的符号位补码表示的符号位与最高数值位相同与最高数值位相同01 八月 202493浮点数加减运算浮点数加减运算结果的舍入处理结果的舍入处理l在对阶或右规操作时,会使加数或结果的尾数低若干位移出,影在对阶或右规操作时,会使加数或结果的尾数低若干位移出,影响精度,常用两种舍入处理方法响精度,常用两种舍入处理方法方法:舍入法方法:舍入法u保留右移时的移出位,若最高位为,则尾数加;否则舍去;保留右移时的移出位,若最高位为,则尾数加;否则舍去;u特点:精度较高,但需要记录所有的移出位。特点:精度较高,但需要记录所有的移出位。方法:恒置法方法:恒置法u若之前步骤有右移操作,则直接将结果的最低位置若之前步骤有右移操作,则直接将结果的最低位置1;u特点:精度较特点:精度较0舍舍1入法较低,但应用简单。入法较低,但应用简单。l接上例,结果的尾数接上例,结果的尾数MS = 00.100 001 舍入法:舍入法:MS=00.100恒置法:恒置法:MS=00.10101 八月 202494浮点数加减运算浮点数加减运算结果的溢出判断结果的溢出判断l尾数溢出尾数溢出在规格化处理时,通过完成右规完成;在规格化处理时,通过完成右规完成;l阶码溢出阶码溢出上溢上溢(结果绝对值太大结果绝对值太大)置上溢标志,结束;置上溢标志,结束;下溢下溢(结果绝对值太小结果绝对值太小)置机器零;置机器零;正常正常运算结束;运算结束;l接上例,接上例, 运算结果的阶码运算结果的阶码ES= 011+1= 0 100未溢出!未溢出!01 八月 202495l设浮点数的阶码用双符号位,尾数用单符号位的补码表示;设浮点数的阶码用双符号位,尾数用单符号位的补码表示;X浮浮00 010,0.11011011Y浮浮00 100,1.01010100求阶差并对阶求阶差并对阶mEEXEYEX补补EY补补 00 01011 100 11 110m则浮点数则浮点数X,应使,应使MX右移右移2位,位,EX加加2,X浮浮00 100,0.00110110(11),ES=00 100尾数求和:尾数求和:MS= 1. 1 0 0 0 1 0 1 0 (11)课本课本P55例例28设设20100.11011011,2100(-0.10101100),求,求。E= -2 0E= -2 0则则E EY Y为结果阶码为结果阶码修改浮点数修改浮点数X X00.00110110(11)11.0101010011.10001010(11)01 八月 202496课本课本P55例例25设设20100.11011011,2100(-0.10101100),求,求。l和的规格化处理和的规格化处理结果尾数的符号位与最高数值位相同,应结果尾数的符号位与最高数值位相同,应左规左规1位位则则 MS=1.00010101(10),ES=00 1001 00 011。l舍入处理舍入处理若采用若采用0舍舍1入法入法MS=1.00010110l结果溢出判断结果溢出判断阶码符号位为阶码符号位为00,和不溢出,和不溢出l最终结果最终结果S = XY 00 011,1. 00010110 2011(0.11101010)MS= 11. 1 0 0 0 1 0 1 0 (11)1.0001010111.0001011001 八月 202497【解解】假设两数均以补码表示,且采用双符号位假设两数均以补码表示,且采用双符号位,先将它们变为规格先将它们变为规格化浮点数化浮点数,则它们的浮点表示分别为则它们的浮点表示分别为 浮浮11 001,11.0111011 浮浮11 100,00.000101011 001,00.1010000已知:已知:0.10001012-111 0.00010102-100 用补码运算求?并判断是否溢出?用补码运算求?并判断是否溢出?用补码运算求?并判断是否溢出?用补码运算求?并判断是否溢出?课堂练习课堂练习01 八月 202498 00.1 0 1 0 0 0 0 求阶差并对阶求阶差并对阶EE,即,即E为为0,阶码相等,无需对阶。,阶码相等,无需对阶。 尾数求和尾数求和 Ms=00.0001011规格化处理规格化处理 尾数运算结果的符号位与最高数值位同值,应执行左规处理;尾数运算结果的符号位与最高数值位同值,应执行左规处理;Ms=00.1011000,Es=10110舍入处理舍入处理没有丢失位,不必进行舍入。没有丢失位,不必进行舍入。判溢出判溢出 阶码符号位为阶码符号位为10,发生下溢,故需置机器,发生下溢,故需置机器0。已知已知浮浮11 001,11.0111011 , 浮浮 11 001,00.1010000 求。求。11.0 1 1 1 0 1 100.0 0 0 1 0 1 101 八月 202499 求阶差并对阶求阶差并对阶EE,即,即E为为0,阶码相等,无需对阶。,阶码相等,无需对阶。 尾数求差尾数求差 My补补11.0110000Ms=10.1101011规格化处理规格化处理 两位符号位不同,应执行两位符号位不同,应执行右规右规1位位的处理的处理,Ms=11.0110101(1),),Es=11010。舍入处理舍入处理丢失位高位为丢失位高位为1,故应进位,故应进位,Ms=11.0110110。判溢出判溢出 阶码符号位为阶码符号位为11,无溢出,故结果为:,无溢出,故结果为: 0.10010112-6。已知已知浮浮11 001,11.0111011 , 浮浮 11 001,00.1010000 求。求。11.0 1 1 1 0 1 1 11.0 1 1 0 0 0 010.1 1 0 1 0 1 10 0舍舍1 1入法入法01 八月 20241002.6.2 浮点乘法、除法运算浮点乘法、除法运算l设两个浮点数:设两个浮点数:X = Mx2Ex 和和 Y = MY2EY乘法:乘法: XY2ExEy(MxMy)除法:除法: XY2ExEy(MxMy)l浮点数乘除运算的步骤浮点数乘除运算的步骤0 操作数检查;操作数检查;阶码加阶码加/减操作;减操作;尾数乘尾数乘/除操作;除操作;结果规格化、舍入和溢出处理;结果规格化、舍入和溢出处理;l本小节其他内容自学!本小节其他内容自学!阶码为补码或移码形式,可直接加减运算阶码为补码或移码形式,可直接加减运算可直接得到可直接得到0结果结果尾数为原码或补码形式,采用定点运算器尾数为原码或补码形式,采用定点运算器01 八月 2024101本章小结本章小结l掌握数据的不同表示方法,并能在不同的表示形式间转换;掌握数据的不同表示方法,并能在不同的表示形式间转换;真值和机器数;原反补移码、真值和机器数;原反补移码、BCD码、定点数等表示码、定点数等表示浮点数的表示、取值范围、规格化、浮点数的表示、取值范围、规格化、IEEE754标准标准l理解数据校验的原理和方法理解数据校验的原理和方法奇偶校验、海明校验奇偶校验、海明校验l掌握定点数的运算,了解相关运算器的构成掌握定点数的运算,了解相关运算器的构成补码加减法运算、溢出的检测和判断方法、加减法电路补码加减法运算、溢出的检测和判断方法、加减法电路了解定点数的串行、并行乘除法运算方法,及运算器构成了解定点数的串行、并行乘除法运算方法,及运算器构成l掌握浮点数的加减法运算方法和步骤掌握浮点数的加减法运算方法和步骤01 八月 2024102本章作业本章作业P63 1、2、3、4 5(2)、6(2)、7(1)、9(2)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号