白中英计算机组成原理第2章-运算方法与运算器说课讲解.ppt
-
资源ID:65778774
资源大小:4.21MB
全文页数:190页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
白中英计算机组成原理第2章-运算方法与运算器说课讲解.ppt
白中英计算机组成原理第2章-运算方法与运算器学习要求学习要求l掌握定点和浮点数的表示方法,表示范围;掌握定点和浮点数的表示方法,表示范围;l掌握定点数的补码加减法、常用的乘除法运算方法;掌握定点数的补码加减法、常用的乘除法运算方法;l掌握浮点数的加减运算方法;掌握浮点数的加减运算方法;l掌握数据校验的方法;掌握数据校验的方法;l理解溢出判断方法;理解溢出判断方法;l清楚运算器部件的组成结构及设计方法。清楚运算器部件的组成结构及设计方法。07 十二月 202222.0 数据的类型(数据的类型(1/2)l按数制分:按数制分:十进制:在微机中直接运算困难;十进制:在微机中直接运算困难;二进制:占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;十六进制:方便观察和使用;二二-十进制:十进制:4位二进制数表示位二进制数表示1位十进制数,转换简单。位十进制数,转换简单。l按数据格式分:按数据格式分:真值:没有经过编码的直观数据表示方式,其值可带正负号,真值:没有经过编码的直观数据表示方式,其值可带正负号,任何数制均可;任何数制均可;机器数:符号化后的数值机器数:符号化后的数值(包括正负号的表示包括正负号的表示),一般位数固定,一般位数固定(8、16、32),不能随便忽略任何位置上的,不能随便忽略任何位置上的0或或1;07 十二月 202232.0 数据的类型(数据的类型(2/2)l按数据的表示范围分:按数据的表示范围分:定点数:小数点位置固定,数据表示范围小;定点数:小数点位置固定,数据表示范围小;浮点数:小数点位置不固定,数据表示范围较大。浮点数:小数点位置不固定,数据表示范围较大。l按能否表示负数分:按能否表示负数分:无符号数:所有均为表示数值,直接用二进制数表示;无符号数:所有均为表示数值,直接用二进制数表示;有符号数:有正负之分,最高位为符号位,其余位表示有符号数:有正负之分,最高位为符号位,其余位表示数值。数值。u按编码不同又可分为原码、反码、补码、移码按编码不同又可分为原码、反码、补码、移码07 十二月 202242.1 数据与文字的表示方法数据与文字的表示方法l2.1.1 数据格式数据格式l2.1.2 数的机器码表示数的机器码表示l2.1.1 数据格式数据格式l2.1.3 字符与字符串的表示方法字符与字符串的表示方法l2.1.4 汉字的表示方法汉字的表示方法l2.1.5 校验码校验码 07 十二月 20225l定点数:小数点固定在某一位置的数据;定点数:小数点固定在某一位置的数据;纯小数:纯小数:u表示形式表示形式 有符号数有符号数 x=xSx-1x-2x-n 0|x|1-2-n ;xs为符号位为符号位无符号数无符号数 x=x0 x-1x-2x-n 0 x 1-2-n ;xs为符号位为符号位u数据表示范围数据表示范围 0.00=0|x|1-2-n=0.11纯整数:纯整数:u表示形式表示形式 有符号数有符号数 x=x s x n-1 x 1 x 0|x|2n-1 ;xs为符号位为符号位无符号数无符号数 x=x n x n-1 x 1 x 0 0 x2n+1-1;xn为数值位为数值位l注意:小数点的位置是机器约定好的,并没有实际的保存。注意:小数点的位置是机器约定好的,并没有实际的保存。x0 x-1x-2x-3x-nxnxn-1xn-2x1x02.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据07 十二月 20226定点机的特点定点机的特点l所能表示的数据范围小所能表示的数据范围小l使用不方便,运算精度较低使用不方便,运算精度较低l存储单元利用率低存储单元利用率低07 十二月 202272.1.2 数的机器码表示数的机器码表示l重点:重点:1、原码、补码、移码的表示形式、原码、补码、移码的表示形式2、补码的定义、补码的定义3、原码、补码、移码的表示范围、原码、补码、移码的表示范围07 十二月 202281、原码表示法、原码表示法定义定义l定义:定义:定点小数:定点小数:x原原定点整数:定点整数:x原原l举例:举例:+0.110 原原 0.110-0.110原原 1-(-0.110)=1.110+110原原 0110-110原原 23-(-110)1000+110=1110 x1x01-x=1+|x|0 x-1x2nx02n-x=2n+|x|0 x-2n实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点xnxn-1xn-2x1x007 十二月 202291、原码表示法、原码表示法特点特点l0有两种表示法有两种表示法+0原原=0000 ;-0原原=1000l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数:-2nX2n (若数值位(若数值位n=3即:即:-8Xx02+x=2-|x|0 x-1x2nx02n+1+x=2n+1-|x|0 x-2nx为为n+1位位(mod2)(mod2n+1)实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点xnxn-1xn-2x1x007 十二月 2022142、补码表示法、补码表示法特点特点l0有唯一的表示法有唯一的表示法-0补补 24+(-0)mod 24 0000 +0补补l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数:-2nX2n (若(若n=3,则,则-8X x -2nl与与x补补的区别:的区别:符号位相反符号位相反l优点:优点:可以比较直观地判断两个数据的大小;可以比较直观地判断两个数据的大小;u浮点数运算时,容易进行对阶操作;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;表示浮点数阶码时,容易判断是否下溢;u当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。真值真值补码补码移码移码-810000000-710010001-610100010000001000+100011001+7011111114位补码与移码位补码与移码xnxn-1xn-2x1x007 十二月 202220原、补、移码的编码形式原、补、移码的编码形式l正数:正数:原、补码的编码完全相同;原、补码的编码完全相同;补码和移码的符号位相反,数值位相同;补码和移码的符号位相反,数值位相同;l负数:负数:原码:原码:符号位为符号位为1 数值部分与真值的绝对值相同数值部分与真值的绝对值相同补码:补码:符号位为符号位为1数值部分与原码各位相反,且末位加数值部分与原码各位相反,且末位加1移码:移码:符号位与补码相反,数值位与补码相同符号位与补码相反,数值位与补码相同07 十二月 202221课本课本P22例例6以定点整数为例以定点整数为例,用数轴形式说明原码、反码、用数轴形式说明原码、反码、补码、移码表示范围和可能的数码组合情况。补码、移码表示范围和可能的数码组合情况。07 十二月 20222207 十二月 202223课本课本P22例例7将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。十进制真十进制真值值二进制真值二进制真值原码表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示-127-111 11111111 11111000 00001000 00010000 0001-1-000 00011000 00011111 11101111 11110111 11110+000 00000000 00000000 00000000 00001000 0000-000 00001000 00001111 1111+1+000 00010000 00010000 00010000 00011000 0001+127+111 11110111 11110111 11110111 11111111 1111符号位符号位+0;-1数值位数值位各位取反各位取反数值位数值位末位加末位加1符号位符号位(正负数正负数)取反取反负数时负数时07 十二月 202223P22例例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定点原码小数定点原码小数最大正数最大正数最小负数最小负数07 十二月 2022242.1.1 数据格式数据格式浮点数浮点数l浮点数:小数点位置可变,形如浮点数:小数点位置可变,形如科学计数法科学计数法中的数据表示。中的数据表示。l浮点数格式定义:浮点数格式定义:N=Re MM:尾数:尾数(mantissa),是一个,是一个纯小数纯小数,表示数据的全部有效数,表示数据的全部有效数位,决定着数值的精度;位,决定着数值的精度;R:基数:基数(radix),可以取,可以取2、8、10、16,表示当前的数制;,表示当前的数制;u微机中,一般默认为微机中,一般默认为2,隐含表示。,隐含表示。e:阶码阶码(exponent),是一个,是一个整数整数,用于指出小数点在该数,用于指出小数点在该数中的位置,中的位置,决定着数据数值的大小决定着数据数值的大小。l机器数的一般表示形式机器数的一般表示形式阶符阶符阶码阶码数符数符尾数尾数数符数符阶符阶符阶码阶码尾数尾数07 十二月 202225科学计数法的表示科学计数法的表示l一个十进制数可以表示成不同的形式:一个十进制数可以表示成不同的形式:l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示:07 十二月 202226浮点数规格化浮点数规格化l浮点数的表示浮点数的表示1.1120=0.11121=11.12-1机器数的表示不同,不利于运算机器数的表示不同,不利于运算l规格化的目的规格化的目的保证浮点数表示的唯一性;保证浮点数表示的唯一性;保留更多地有效数字,提高运算的精度。保留更多地有效数字,提高运算的精度。l规格化要求规格化要求1/R|尾数尾数|1;l规格化处理:规格化处理:尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,同时阶码减n;尾数向右移尾数向右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。规格化规格化右规右规左规左规07 十二月 202227浮点数的规格化浮点数的规格化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;07 十二月 202228浮点数的数据表示范围浮点数的数据表示范围0最大最大负数负数最小最小正数正数最小最小负数负数最大最大正数正数下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区尾数尾数负的最小值负的最小值负的最大值负的最大值 正的最小值正的最小值 正的最大值正的最大值阶码阶码正的最大值正的最大值负的最小值负的最小值 负的最小值负的最小值 正的最大值正的最大值l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出上溢:阶码大于所能表示的最大值;上溢:阶码大于所能表示的最大值;下溢:阶码小于所能表示的最小值;下溢:阶码小于所能表示的最小值;l机器零:机器零:尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值;07 十二月 202229浮点数的最值浮点数的最值非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为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 100007 十二月 2022300 1 1 0 1 11 5 1 9 【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最大正数最大正数最大正数为最大正数为0.11120111 即(即(129)231该浮点数即为该浮点数即为规格化规格化数形式;数形式;07 十二月 202231【例例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 07 十二月 202232【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最小负数最小负数最小负数为最小负数为0.112011即(即(129)2(251)=(129)231该浮点数即为该浮点数即为规格化规格化数形式;数形式;0 1 1 1 1 11 m 1 n 07 十二月 202233【例例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 07 十二月 202234【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l最大正数最大正数阶码最大、尾数最大阶码最大、尾数最大最大正数为最大正数为0.1112111(129)231l最小正数最小正数 最小正数为最小正数为0.1000232 即即2-3221 2-33注意:注意:不是不是 u因为因为0.01 2-32不是规格化数。不是规格化数。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 07 十二月 202235【例例2】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l最小的负数最小的负数最小负数为最小负数为1.000231即即231(1)=231l最大的负数最大的负数最大负数为最大负数为0.1001232 即(即(29+21)232注意:因有规格化要求,不是注意:因有规格化要求,不是0 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 07 十二月 202236浮点数的浮点数的IEEE754标准表示标准表示lIEEE(Institute of Electrical and Electronics Engineers)美国电气及电子工程师学会美国电气及电子工程师学会IEEE是一家总部在美国的工程技术和电子专家的组织;是一家总部在美国的工程技术和电子专家的组织;IEEE致力于电气、电子、计算机工程和与科学有关的领域致力于电气、电子、计算机工程和与科学有关的领域的开发和研究,也是计算机网络标准的主要制定者。的开发和研究,也是计算机网络标准的主要制定者。l为便于软件移植,按照为便于软件移植,按照 IEEE754 标准,实际机器内标准,实际机器内32位浮点位浮点数和数和64位浮点数的标准格式如下:位浮点数的标准格式如下:022233031SEM2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符3232位浮点数位浮点数051526263SEM6464位浮点数位浮点数07 十二月 20223732位浮点数的位浮点数的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尾数尾数M07 十二月 202238IEEE754 标准格式标准格式(64位格式)位格式)其真值表示为:其真值表示为:x=(1)S(1.M)2E1023 eE102307 十二月 202239IEEE754 标准的数据表示标准的数据表示lIEEE754 标准中的阶码标准中的阶码E正零、负零正零、负零uE与与M均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定;正无穷、负无穷正无穷、负无穷uE为全为全1,M为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定;阶码阶码E的其余值(的其余值(0000 00011111 1110)为规格化数据;)为规格化数据;u真正的指数真正的指数e的范围为的范围为-126+127E=0000 0000,M=0000 0000E=1111 1111,M=0000 00000000 0000 1111 111107 十二月 202240IEEE754 标准对特殊数据的表示标准对特殊数据的表示符号位符号位S阶码阶码E尾数尾数M数值数值N0/10=000/100(-1)S(0.M)2-1260/112540(-1)S(1.M)2E-1270/12550NaN(非数值)(非数值)0/1255=0(-1)S(无穷大无穷大)07 十二月 202241课本课本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尾数尾数M07 十二月 202242课本课本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 07 十二月 202243单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数l高级语言的高级语言的float、double使用的即是使用的即是IEEE754规定的格式。规定的格式。lfloat:32位浮点值,也叫单精度浮点数(位浮点值,也叫单精度浮点数(4字节保存)字节保存)ldouble:64位浮点值,也叫双精度浮点数(位浮点值,也叫双精度浮点数(8字节保存)字节保存)l单精度浮点数的例子:单精度浮点数的例子:1位位 8位位 7位位 8位位 8位位 -11000.0107 十二月 202244单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数l除除0之外,之外,IEEE754标准中单精度浮点数所能表示的绝对值最标准中单精度浮点数所能表示的绝对值最小的规格化浮点数的格式为:小的规格化浮点数的格式为:S 0000 0001 00000000000000000000000lV=(-1)S2-126(1.M)=(-1)S2-126(1+0.000)l除除之外,之外,IEEE754标准中单精度浮点数所能表示的绝对值最标准中单精度浮点数所能表示的绝对值最大的规格化浮点数的格式为:大的规格化浮点数的格式为:S 1111 1110 11111111111111111111111lV=(-1)S2+127(1.M)=(-1)S2-126(1+1.111)07 十二月 202245求解技巧求解技巧l例如:将下列十进制数表示成例如:将下列十进制数表示成IEEE754格式的格式的32位浮点数二进位浮点数二进制存储形式。制存储形式。27/32 11/512l求解:求解: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 00011/512=(0000 1011)2*2-9u尾数:尾数:1.011;阶码:阶码:e=-9+3=-6,E=e+127=121uIEEE754数据:数据:0 0111 1001 0110 0000 0000 0000 0000 0007 十二月 202246例:将十进制数例:将十进制数-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 000007 十二月 202247最大正数:最大正数:x=1+(1-2-23)2127最小正数:最小正数:x=1.0 2-128最小负数:最小负数:x=-1+(1-2-23)2127最大负数:最大负数:x=-1.0 2-128课本课本P23例例9假设一个假设一个32位非零规格化位非零规格化浮点数浮点数,真值表示为:,真值表示为:问:它所表示的问:它所表示的规格化的规格化的最大正数、最小正数、最大负数、最最大正数、最小正数、最大负数、最小负数是多少?(尾数用原码表示)小负数是多少?(尾数用原码表示)数符数符阶码阶码尾数尾数01111111111111111111111111111111数符数符阶码阶码尾数尾数00000000000000000000000000000000数符数符阶码阶码尾数尾数11111111111111111111111111111111数符数符阶码阶码尾数尾数1000000000000000000000000000000007 十二月 202248浙江大学考研试题浙江大学考研试题 计算机储存程序的特点之一是把数据和指令都作为二进制信号计算机储存程序的特点之一是把数据和指令都作为二进制信号看待。今有一计算机字长看待。今有一计算机字长32bit,数符位是第,数符位是第31bit;单精度浮;单精度浮点数格式如图所示。点数格式如图所示。对于二进制数对于二进制数1000 1111 1110 1111 1100 0000 0000 0000 表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?表示一个表示一个IEEE754标准的单精度浮点数,其值是多少?标准的单精度浮点数,其值是多少?8位位23位位131 30 23 22 007 十二月 202249二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少?n作为补码整数,其对应的原码是作为补码整数,其对应的原码是1111 0000 0001 0000 0100 0000 0000 0000n十进制值是十进制值是-(230+229+228+220+214)表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?n作为无符号整数,其十进制值是作为无符号整数,其十进制值是231+227+226+225+224+223+222+221+219+218+217+216+215+21407 十二月 202250二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000 作为作为IEEE754标准的单精度浮点数标准的单精度浮点数n阶码阶码E是是0001 1111n指数指数e阶码阶码E1270001 11110111 1111 -1100000B-96Dn尾数尾数M=110 1111 1100 0000 0000 0000n则则1.M=1.110 1111 1100 0000 0000 0000=1.110 1111 11 单精度浮点数值为:单精度浮点数值为:X(-1)s1.M2e-(1.110 1111 11)2-96 -(0.1110 1111 11)2-95 -(1416-11516-21216-3)2-95 -0.31152-95 07 十二月 2022512009考研真题考研真题12.一个一个C语言程序在一台语言程序在一台32位机器上运行。程序中定义了三个位机器上运行。程序中定义了三个变量变量x,y和和z,其中,其中x和和z是是int型,型,y为为short型。当型。当x=127,y=-9时,执行赋值语句时,执行赋值语句z=x+y后,后,x、y和和z的值分别是:的值分别是:A.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFF0076HC.x=0000007FH,y=FFF7H,z=FFFF0076HD.x=0000007FH,y=FFF7H,z=00000076H07 十二月 2022522010考研真题考研真题l14.假定变量假定变量i,f,d数据类型分别为数据类型分别为int,float,double(int用补用补码表示,码表示,float和和double用用IEEE754单精度和双精度浮点数据格单精度和双精度浮点数据格式表示式表示),已知,已知i=785,f=1.5678e3,d=1.5e100,若在,若在32位机位机器中执行下列关系表达式,则结果为真的是器中执行下列关系表达式,则结果为真的是()(I)i=(int)(float)i(II)f=(float)(int)f(III)f=(float)(double)f(IV)(d+f)-d=fl A.仅仅I和和II B.仅仅I和和IIIl C.仅仅II和和III D.仅仅III和和IV关键是关键是“=”两端的数据类两端的数据类型是否一致!型是否一致!07 十二月 2022532.1.1数据格式数据格式十进制数串的表示方法十进制数串的表示方法l字符串形式字符串形式每个十进制每个十进制数位数位占用一个字节;占用一个字节;除保存各数位,还需要指明该数存放的起始地址和总位数;除保存各数位,还需要指明该数存放的起始地址和总位数;主要用于非数值计算的应用领域。主要用于非数值计算的应用领域。l压缩的十进制数串形式压缩的十进制数串形式采用采用BCD码表示,一个字节可存放两个十进制数位;码表示,一个字节可存放两个十进制数位;节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算;用特殊的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负07 十二月 2022542.1.3 字符与字符串的表示方法字符与字符串的表示方法lASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码)包括包括128个字符,共需个字符,共需7位编码;位编码;ASCII码规定:最高位为码规定:最高位为0,余下,余下7位作为位作为128个字符的编码。个字符的编码。最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。l字符串字符串指连续的一串字符,指连续的一串字符,每个字节存一个字符。每个字节存一个字符。当存储字长为当存储字长为2、或、或4个字节时,在同一个存储单元中个字节时,在同一个存储单元中;u可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内容;u或按从高位字节向低位字节的次序顺序存放字符串的内容。或按从高位字节向低位字节的次序顺序存放字符串的内容。07 十二月 2022552.1.4 汉字的表示方法汉字的表示方法l汉字的输入编码汉字的输入编码 目的:直接使用西文标准键盘把汉字输入到计算机目的:直接使用西文标准键盘把汉字输入到计算机。分类:主要有数字编码、拼音码分类:主要有数字编码、拼音码、字形编码三类。、字形编码三类。l汉字内码汉字内码用于汉字信息的存储、交换、检索等操作的机内代码用于汉字信息的存储、交换、检索等操作的机内代码l汉字字模码汉字字模码用点阵表示的汉字字形代码,用于汉字的输出。用点阵表示的汉字字形代码,用于汉字的输出。07 十二月 202256显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内码机内码输入码向机内码转换输入码向机内码转换中文编码中文编码字符代码化(输入)字符代码化(输入)数字码数字码拼音码拼音码字形码字形码07 十二月 202257汉字字模码汉字字模码288288128128727207 十二月 2022582.1.5 校验码(数据校验)校验码(数据校验)l数据校验原因数据校验原因为减少和避免数据在计算机系统运行或传送过程中发生错误,为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持。在数据的编码上提供了检错和纠错的支持。l数据校验码的定义数据校验码的定义能够发现某些错误或具有自动纠错能力的数据编码;能够发现某些错误或具有自动纠错能力的数据编码;也称检错码;也称检错码;l数据校验的基本原理是数据校验的基本原理是扩大码距扩大码距;码距码距:任意任意两个合法码之间不同的二进制位的两个合法码之间不同的二进制位的最少位数最少位数;仅有一位不同时,称其码距为仅有一位不同时,称其码距为1。07 十二月 202259码距及作用码距及作用l设用四位二进制表示设用四位二进制表示16种状态种状态16种编码都用到了,此时码距为种编码都用到了,此时码距为1;任何一种状态的四位码中的一位或几位出错,就变成另一个任何一种状态的四位码中的一位或几位出错,就变成另一个合法码;合法码;无查错能力。无查错能力。l若用四位二进制表示若用四位二进制表示8个状态个状态只用其中的只用其中的8种编码,而把另种编码,而把另8种编码作为非法编码;种编码作为非法编码;可使码距扩大为可使码距扩大为2;u注意:并不是任选注意:并不是任选8种编码都可扩大码距;种编码都可扩大码距;07 十二月 202260校验码的类型校验码的类型l奇偶校验码奇偶校验码判断数据中判断数据中1的个数设置的个数设置1位校验位;位校验位;分奇校验和偶校验两种,只能检错,无纠错能力;分奇校验和偶校验两种,只能检错,无纠错能力;l海明校验码海明校验码在奇偶校验的基础上增加校验位而得;在奇偶校验的基础上增加校验位而得;具有检错和纠错的能力;具有检错和纠错的能力;l循环冗余校验码(循环冗余校验码(CRC)通过模通过模2的除法运算建立数据信息和校验位之间的约定关系;的除法运算建立数据信息和校验位之间的约定关系;具有很强的检错纠错能力。具有很强的检错纠错能力。07 十二月 202261奇偶校验码奇偶校验码概念概念l奇偶校验原理奇偶校验原理在数据中增加在数据中增加1个冗余位,使码距由个冗余位,使码距由1增加到增加到2;如果合法编码中有奇数个位发生了错误,就将成为非法代码。如果合法编码中有奇数个位发生了错误,就将成为非法代码。增加的冗余位称为奇偶校验位。增加的冗余位称为奇偶校验位。l校验的类型校验的类型偶校验:每个码字偶校验:每个码字(包括校验位包括校验位)中中1的数目为偶数。的数目为偶数。奇校验:每个码字奇校验:每个码字(包括校验位包括校验位)中中1的数目为奇数。的数目为奇数。l校验过程校验过程发送端:按照校验类型,在发送数据后添加校验位发送端:按照校验类型,在发送数据后添加校验位P;接收端:对接收到的数据(包括校验位)进行接收端:对接收到的数据(包括校验位)进行同样类型的校同样类型的校验验,决定数据传输中是否存在错误;,决定数据传输中是否存在错误;07 十二月 202262奇偶校验码奇偶校验码校验原理校验原理l偶校验:在接收端求校验位偶校验:在接收端求校验位P=D7D6D5D4D3D2 D1 D0 P若