[工学]白中英计算机组成原理第2章_运算方法与运算器ppt课件_第1页
[工学]白中英计算机组成原理第2章_运算方法与运算器ppt课件_第2页
[工学]白中英计算机组成原理第2章_运算方法与运算器ppt课件_第3页
[工学]白中英计算机组成原理第2章_运算方法与运算器ppt课件_第4页
[工学]白中英计算机组成原理第2章_运算方法与运算器ppt课件_第5页
已阅读5页,还剩185页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 运算方法和运算器目录目录2.0 数据的类型数据的类型2.1 数据与文字的表示方法数据与文字的表示方法 掌握掌握2.2 定点加法、减法运算定点加法、减法运算 掌握掌握2.3 定点乘法运算定点乘法运算 了解了解2.4 定点除法运算定点除法运算 了解了解2.5 定点运算器的组成定点运算器的组成 了解了解2.6 浮点运算方法和浮点运算器掌握浮点运算方法和浮点运算器掌握学习要求学习要求l掌握定点和浮点数的表示方法,表示范围;掌握定点和浮点数的表示方法,表示范围;l掌握定点数的补码加减法、常用的乘除法运算方法;掌握定点数的补码加减法、常用的乘除法运算方法;l掌握浮点数的加减运算方法;掌握浮点数的加

2、减运算方法;l掌握数据校验的方法;掌握数据校验的方法;l了解溢出判别方法;了解溢出判别方法;l清楚运算器部件的组成构造及设计方法。清楚运算器部件的组成构造及设计方法。 2.0 数据的类型数据的类型1/2l按数制分:按数制分:l十进制:在微机中直接运算困难;十进制:在微机中直接运算困难;l二进制:占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算;l十六进制:方便察看和运用;十六进制:方便察看和运用;l二二-十进制:十进制:4位二进制数表示位二进制数表示1位十进制数,转换简单。位十进制数,转换简单。l按数据格式分:按数据格式分:l真值:没有经过编码的直观数据表

3、示方式,其值可带正负号,真值:没有经过编码的直观数据表示方式,其值可带正负号,任何数制均可;任何数制均可;l机器数:符号化编码后的数值机器数:符号化编码后的数值(包括正负号的表示包括正负号的表示),普通位数,普通位数固定固定(8、16、32),不能随意忽略任何位置上的,不能随意忽略任何位置上的0或或1;2.0 数据的类型数据的类型2/2l按数据的表示范围分:按数据的表示范围分:l定点数:小数点位置固定,数据表示范围小;定点数:小数点位置固定,数据表示范围小;l浮点数:小数点位置不固定,数据表示范围较大。浮点数:小数点位置不固定,数据表示范围较大。l按能否表示负数分:按能否表示负数分:l无符号数

4、:一切均为表示数值,直接用二进制数表示;无符号数:一切均为表示数值,直接用二进制数表示;l有符号数:有正负之分,最高位为符号位,其他位表示数有符号数:有正负之分,最高位为符号位,其他位表示数值。值。l按编码不同又可分为原码、反码、补码、移码按编码不同又可分为原码、反码、补码、移码2.1 数据与文字的表示方法数据与文字的表示方法l2.1.1 数据格式数据格式l2.1.2 数的机器码表示数的机器码表示l2.1.1 数据格式数据格式l2.1.3 字符与字符串的表示方法字符与字符串的表示方法l2.1.4 汉字的表示方法汉字的表示方法l2.1.5 校验码校验码 l定点数:小数点固定在某一位置的数据;定点

5、数:小数点固定在某一位置的数据;l纯小数:纯小数:l表示方式表示方式 l 有符号数有符号数 x=xSx-1x-2x-n 0 |x|1-2-n ;xs为符号位为符号位l无符号数无符号数 x=x-1x-2x-nx-(n+1) 0 x 1-2-n-1 ;无符号位无符号位l数据表示范围数据表示范围 0.00= 0 |x| 1-2-n = 0.11l纯整数:纯整数:l表示方式表示方式 有符号数有符号数 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留意:小数点的位置是机器

6、商定好的,并没有实践的保管。留意:小数点的位置是机器商定好的,并没有实践的保管。x0 x-1x-2x-3 x-n xnxn-1xn-2x1x02.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据定点机的特点定点机的特点l所能表示的数据范围小所能表示的数据范围小l运用不方便,运算精度较低运用不方便,运算精度较低l存储单元利用率低存储单元利用率低2.1.2 数的机器码表示有符号数数的机器码表示有符号数l计算机中是不会存储计算机中是不会存储+号的,那么怎样表示符号位号的,那么怎样表示符号位呢,怎样让符号位同数值位一道参与运算呢。这就是呢,怎样让符号位同数值位一道参与运算呢。这就是

7、怎样样把真值转换成机器码原、反、补、移码怎样样把真值转换成机器码原、反、补、移码l重点:重点:l1、原码、补码、移码的表示方式、原码、补码、移码的表示方式l2、补码的定义、补码的定义l3、原码、补码、移码的表示范围、原码、补码、移码的表示范围1、原码表示法、原码表示法定义定义l定义:定义:l定点小数:定点小数: x原原l定点整数:定点整数: x原原l举例:举例:l+0.110 原原 0.110l-0.110原原 1 - (-0.110) = 1.110l+110原原 0110l-110原原 23- (-110) 1000 +110 = 1110 x1 x 0 x表示真值表示真值1- x=1+|

8、x| 0 x -1x2n x 0 n表示数值位表示数值位2n- x=2n+|x| 0 x -2n实践机器中保管时实践机器中保管时并不保管小数点,并不保管小数点,等到的就是机器码等到的就是机器码中的原码。中的原码。 xn xn-1xn-2x1x0Xn是符号位,是符号位,0表示正,表示正,1表示负表示负1、原码表示法、原码表示法特点特点l0有两种表示法有两种表示法l+0原原 = 0000 ;-0原原 = 1000l数据表示范围数据表示范围l定点小数:定点小数:-1X1l定点整数定点整数: -2nX2n 假设数值位假设数值位n=3即:即:-8X x 02+x = 2 - |x| 0 x -1x 2n

9、 x 02n+1+x = 2n+1-|x| 0 x -2nx为为n+1位位mod 2 模模+真值真值mod 2n+1实践机器中保管时实践机器中保管时并不保管小数点并不保管小数点 xnxn-1xn-2x1x02、补码表示法、补码表示法特点特点l0有独一的表示法有独一的表示法l-0补补 24+(-0 ) mod 24 0000 +0补补l数据表示范围数据表示范围l定点小数:定点小数:-1X1l定点整数定点整数: -2nX2n 假设假设n=3,那么,那么-8X x -2nl与与x补的区别:符号位相反补的区别:符号位相反l优点:优点:l可以比较直观地判别两个数据的大小;可以比较直观地判别两个数据的大小

10、;l浮点数运算时,容易进展对阶操作;浮点数运算时,容易进展对阶操作;l表示浮点数阶码时,容易判别能否下溢;表示浮点数阶码时,容易判别能否下溢;l当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。真值真值补码补码移码移码-810000000-710010001-610100010000001000+100011001+7011111114位补码与移码位补码与移码 xnxn-1xn-2x1x0原、补、移码的编码方式原、补、移码的编码方式l正数:正数:l原、补码的编码完全一样;原、补码的编码完全一样;l补码和移码的符号位相反,数值位一样;补码和移码的符号位相反,数值位一样;l负数:负数:l原码:

11、原码: 符号位为符号位为1 数值部分与真值的绝对值一样数值部分与真值的绝对值一样l补码:补码: 符号位为符号位为1数值部分与原码各位相反,且末位加数值部分与原码各位相反,且末位加1l移码:移码: 符号位与补码相反,数值位与补码一样符号位与补码相反,数值位与补码一样课本课本P22例例6以定点整数为例以定点整数为例,用数轴方式阐明原码、反码、用数轴方式阐明原码、反码、补码、移码表示范围和能够的数码组合情况。补码、移码表示范围和能够的数码组合情况。2022年6月30日星期四24课本课本P22例例7将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。

12、表示成二进制数及原码、反码、补码、移码值。十进制真十进制真值值二进制真值二进制真值原码表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示-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 11

13、110111 11110111 11110111 11111111 1111符号位符号位+0;- 1数值位数值位各位取反各位取反数值位数值位末位加末位加1符号位符号位(正负数正负数)取反取反负数时负数时P22例例8设机器字长设机器字长16位,定点表示,尾数位,定点表示,尾数15位,数符位,数符1位,问:位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?定点原码小数表示时,最大正数是多少?最小负数是多少?0111 1111 1111 11111111 1111 111

14、1 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最大正数最大正数l最小负数最小负数l定点原码小数定点原码小数l最大正数最大正数l最小负数最小负数2.1.1 数据格式数据格式浮点数浮点数l浮点数:小数点位置可变,形如科学计数法中的数据表示。浮点数:小数点位置可变,形如科学计数法中的数据表示。l浮点数格式定义:浮点数格式定义: N= Re MlM:尾数:尾数(mantiss

15、a) ,是一个纯小数整数部分为,是一个纯小数整数部分为0的小数,的小数,表示数据的全部有效数位,决议着数值的精度;表示数据的全部有效数位,决议着数值的精度;lR:基数:基数(radix) ,可以取,可以取2、8、10、16,表示当前的数制;,表示当前的数制;l微机中,普通默以为微机中,普通默以为2,隐含表示。,隐含表示。le: 阶码阶码(exponent) ,是一个整数,用于指出小数点在该数中,是一个整数,用于指出小数点在该数中的位置,决议着数据数值的大小。的位置,决议着数据数值的大小。l机器数的普通表示方式机器数的普通表示方式阶符阶符阶码阶码数符数符尾数尾数数符数符阶符阶符阶码阶码尾数尾数科

16、学计数法的表示科学计数法的表示l一个十进制数可以表示成不同的方式:一个十进制数可以表示成不同的方式:l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示:3310()123.456123456 100.123456 10N1001002()1101.001111010011 20.1101.0011 2N浮点数规格化浮点数规格化l浮点数的表示浮点数的表示l1.1120=0.11121=11.12-1l规格化的目的规格化的目的l保证浮点数表示的独一性;保证浮点数表示的独一性;l保管更多地有效数字,提高运算的精度。保管更多地有效数字,提高运算的精度。l规格化要求规格化要求l1/

17、R|尾数尾数|1;R为基数,如为基数,如2,即大于,即大于1/2l规格化处置:规格化处置:l尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,同时阶码减n;l尾数向右移尾数向右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。右规右规左规左规浮点数的规格化浮点数的规格化l尾数用原码表示时尾数用原码表示时l尾数数值最高数值位为尾数数值最高数值位为1;l尾数形如尾数形如0.1正;或正;或1.1负;负;l例如,例如,0.01125要规格化那么变为要规格化那么变为0.1124; l 0.01125要规格化那么变为要规格化那么变为1.1124;l尾数用补码表示时尾数用补码表示时l

18、尾数最高数值位和尾数符号位相反;尾数最高数值位和尾数符号位相反;l尾数形如尾数形如0.1正;或正;或1.0负负l例如,例如,0.01125要规格化,那么变为要规格化,那么变为0.1124;l 0.01125要规格化,那么变为要规格化,那么变为1.0124;浮点数的数据表示范围浮点数的数据表示范围 N= Re M0最大最大负数负数最小最小正数正数最小最小负数负数最大最大正数正数下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区尾数尾数负的最小值负的最小值负的最大值负的最大值 正的最小值正的最小值 正的最大值正的最大值阶码阶码正的最大值正的最大值负的最小值负的最小值 负的最小值负的最小值

19、 正的最大值正的最大值l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出l上溢:阶码大于所能表示的最大值;无穷上溢:阶码大于所能表示的最大值;无穷l下溢:阶码小于所能表示的最小值;下溢:阶码小于所能表示的最小值; 0l机器零:机器零:l尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值;2e0浮点数的最值浮点数的最值 N= M Re非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为1位阶符位阶符m位阶码位阶码1位数符位数符n位尾数位尾数移码表示移码表

20、示-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 10000 1 1 0 1 11 5 1 9 【例【例1】设浮点数的阶码】设浮点数的阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码采用补码表示,尾数位含符号位,阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范

21、围。采用原码表示,分析其浮点数表示范围。l最大正数最大正数 N= MRel最大正数为最大正数为0.11120211 l即即129231l该浮点数即为规格化数方式;该浮点数即为规格化数方式;阶码补码尾数原码【例【例1】设浮点数的阶码】设浮点数的阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码采用补码表示,尾数位含符号位,阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l 最小正数最小正数N= MRel 非规格化数方式非规格化数方式l 最小正数为最小正数为0.0012100 l 即即29 225= 29 2-32l 规格化数方式规格化数方

22、式l 最小正数为最小正数为0.12100 l 21 225 2331 0 0 0 1 001 5 1 9 1 0 0 0 0 011 5 1 9 阶码补码尾数原码【例【例1】设浮点数的阶码】设浮点数的阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码采用补码表示,尾数位含符号位,阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最小负数最小负数N= MRel最小负数为最小负数为0.112011l即即1292251= 129 231l该浮点数即为规格化数方式;该浮点数即为规格化数方式;0 1 1 1 1 11 m 1 n 阶码补码尾数原码

23、【例【例1】设浮点数的阶码】设浮点数的阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码采用补码表示,尾数位含符号位,阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l 最大负数最大负数l 非规格化数方式非规格化数方式l 最大负数为最大负数为0.0012100l 即即 29 225= 29 2-32l 规格化数方式规格化数方式l 最大负数为最大负数为0. 12100l 即即 21 225= 2-1 2321 0 0 1 1 001 m 1 n 1 0 0 1 0 011 m 1 n 阶码补码尾数原码【例【例2】设浮点数的阶码】设浮点数的

24、阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码和尾数均采用补码表位含符号位,阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最大正数最大正数l 阶码最大、尾数最大阶码最大、尾数最大l 最大正数为最大正数为0.1112111l 129231l 最小正数最小正数 规格化后规格化后 l 最小正数为最小正数为0.1000232 l 即即2-3221 2-33l 留意:不是留意:不是 l 由于由于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

25、 5 1 9 阶码补码尾数补码【例【例2】设浮点数的阶码】设浮点数的阶码6位含符号位,尾数位含符号位,尾数为为10位含符号位,阶码和尾数均采用补码表位含符号位,阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最小的负数最小的负数l 最小负数为最小负数为1.000231l 即即2311= 231l 最大的负数最大的负数l 最大负数为最大负数为0.1001232 l 即即 29+ 21 232l 留意:因有规格化要求,不是留意:因有规格化要求,不是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

26、 1 9 阶码补码尾数补码浮点数的浮点数的IEEE754规范表示规范表示lIEEEInstitute of Electrical and Electronics Engineersl美国电气及电子工程师学会美国电气及电子工程师学会lIEEE是一家总部在美国的工程技术和电子专家的组织;是一家总部在美国的工程技术和电子专家的组织;lIEEE努力于电气、电子、计算机工程和与科学有关的领域的开努力于电气、电子、计算机工程和与科学有关的领域的开发和研讨,也是计算机网络规范的主要制定者。发和研讨,也是计算机网络规范的主要制定者。 l为便于软件移植,按照为便于软件移植,按照 IEEE754 规范,实践机器内

27、规范,实践机器内32位浮点位浮点数和数和64位浮点数的规范格式如下:位浮点数的规范格式如下:022233031SEM2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符3232位浮点数位浮点数051526263SEM6464位浮点数位浮点数1111位阶码,包括阶符位阶码,包括阶符 5252位尾数,仅为数值部分位尾数,仅为数值部分1 1位数符位数符32位浮点数的位浮点数的IEEE754 规范表示规范表示l数符数符S:表示浮点数的符号,占:表示浮点数的符号,占1位,位,0正数、正数、1负数;负数;l尾数尾数M:23位,原码纯小数表示,小数点在尾数

28、域的最前面;位,原码纯小数表示,小数点在尾数域的最前面;l由于原码表示的规格化浮点数要求,最高数值位一直为由于原码表示的规格化浮点数要求,最高数值位一直为1,因此,因此该规范中隐藏最高数值位该规范中隐藏最高数值位(1),尾数的实践值为,尾数的实践值为1.M;l阶码阶码E:8 位,采用有偏移值的移码表示;位,采用有偏移值的移码表示;l移移127码,即码,即E=e+127,E的的8位二进制数即为移位二进制数即为移127码的编码;码的编码;l浮点数的真值:浮点数的真值:N=-1S1.M2E-127数符数符S阶码阶码E尾数尾数M阶码移码尾数原码IEEE754 规范格式规范格式 64位格式位格式其真值表

29、示为:其真值表示为: x=1S1.M2E1023 eE1023IEEE754 规范的数据表示规范的数据表示lIEEE754 规范中的阶码规范中的阶码El正零、负零正零、负零lE与与M均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定;l正无穷、负无穷正无穷、负无穷lE为全为全1,M为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定;l阶码阶码E的其他值的其他值0000 00011111 1110为规格化数据;为规格化数据;l真正的指数真正的指数e的范围为的范围为-126+127E=0000 0000,M=0000 0000E=1111 1111,M=0000 00000

30、000 0000 1111 1111IEEE754 规范对特殊数据的表示规范对特殊数据的表示符号位符号位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(无穷大无穷大)课本课本P18 例例1l例例1 假设浮点数的假设浮点数的754规范存储格式为规范存储格式为(40000)16,求其浮,求其浮点数的十进制数值。点数的十进制数值。 l解:解:l(40000)16 = 0100 0001 0011 0110 0000 0000 0000 0000l指

31、数指数e=E-127= 1000 0010 0111 1111=0000 0011=3l尾数尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011l浮点数浮点数 N =-1S1.M2e = -101. 01101123 曾经是规曾经是规范化范化 = (11.375)10数符数符S阶码阶码E尾数尾数M课本课本P18 例例2l例例2 将将(20.59375)10转换成转换成754规范的规范的32位浮点数的二进制位浮点数的二进制存储格式。存储格式。l解:解:l(20.59375)10(10100.10011)2l将尾数规范为将尾数规范为1.M的方式:的方式: 10

32、100.100111.01001001124e4l可得:可得:M 010010011 S 0E 41271311000 0011l故,故,32位浮点数的位浮点数的754规范格式为:规范格式为:l 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数l高级言语的高级言语的float、double运用的即是运用的即是IEEE754规定的格式。规定的格式。lfloat :32位浮点值,也叫单精度浮点数位浮点值,也叫单精度浮点数4字节保管字节保管ldouble:64位浮点值,也叫双精度浮点数位浮点值

33、,也叫双精度浮点数8字节保管字节保管l单精度浮点数的例子:单精度浮点数的例子: 1位位 8位位 7位位 8位位 8位位 -11000.01单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数l除除0之外,之外,IEEE754规范中单精度浮点数所能表示的绝对值最规范中单精度浮点数所能表示的绝对值最小的规格化浮点数的格式为:小的规格化浮点数的格式为:lS 0000 0001 00000000000000000000000lV=-1S2-1261.M= -1S2-1261+0.000l除除之外,之外,IEEE754规范中单精度浮点数所能表示的绝对值规范中单精度浮点数所能表示的绝对值最大的规格化浮点数

34、的格式为:最大的规格化浮点数的格式为:lS 1111 1110 11111111111111111111111lV=-1S2+1271.M= -1S2-1261+1.111求解技巧求解技巧l例如:将以下十进制数表示成例如:将以下十进制数表示成IEEE754格式的格式的32位浮点数二进位浮点数二进制存储方式。制存储方式。l27/32 l11/512l求解:求解:l27/32=27*(1/32) = (0001 1011)2*2-5l尾数:尾数:1.1011;阶码:阶码:e=-5+4=-1 ,E=e+127=126lIEEE754数据:数据:0 0111 1110 1011 0000 0000 0

35、000 0000 000l11/512= (0000 1011)2*2-9l尾数:尾数:1.011;阶码:阶码:e=-9+3=-6 ,E=e+127=121lIEEE754数据:数据:0 0111 1001 0110 0000 0000 0000 0000 00例:将十进制数例:将十进制数-54表示成二进制定点数表示成二进制定点数(16位位)和浮点数和浮点数(16位,其中数值部分位,其中数值部分10位,阶码部分位,阶码部分4位,阶符和数符各位,阶符和数符各取取1位位),并写出它在定点机和浮点机中的机器数方式。,并写出它在定点机和浮点机中的机器数方式。l令令 x = -54,那么,那么x = -

36、110110l16位定点数真值表示:位定点数真值表示: x = -000 0000 0011 0110l定点机器数方式定点机器数方式l x原:原:l x补:补:l浮点数规格化表示:浮点数规格化表示:x = -(0.1101100000)2110l浮点机器数方式浮点机器数方式l x原:原:l x补:补:非非IEEE754规范规范1 000 0000 0011 01101 111 1111 1100 10100 0110 ; 1 11 0110 00000 0110 ; 1 00 1010 0000最大正数:最大正数:x=1+(1-2-23) 2127最小正数:最小正数:x=1.0 2-128最小

37、负数:最小负数:x=-1+(1-2-23) 2127最大负数:最大负数:x=-1.0 2-128课本课本P23例例9假设一个假设一个32位非零规格化位非零规格化浮点数,真值表示为:浮点数,真值表示为:问:它所表示的规格化的最大正数、最小正数、最大负数、问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?尾数用原码表示,类似最小负数是多少?尾数用原码表示,类似IEEE,但不是,但不是数符数符阶码阶码尾数尾数01111 1111 1111 1111 1111 1111111 1111数符数符阶码阶码尾数尾数00000 0000 0000 0000 0000 0000000 0000

38、数符数符阶码阶码尾数尾数11111 1111 1111 1111 1111 1111111 1111数符数符阶码阶码尾数尾数10000 0000 0000 0000 0000 0000000 0000浙江大学考研试题浙江大学考研试题 计算机储存程序的特点之一是把数据和指令都作为二进制信号计算机储存程序的特点之一是把数据和指令都作为二进制信号对待。今有一计算机字长对待。今有一计算机字长32bit,数符位是第,数符位是第31bit;单精度浮;单精度浮点数格式如下图。点数格式如下图。 对于二进制数对于二进制数1000 1111 1110 1111 1100 0000 0000 0000 表示一个补码

39、整数,其十进制值是多少?表示一个补码整数,其十进制值是多少? 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少? 表示一个表示一个IEEE754规范的单精度浮点数,其值是多少?规范的单精度浮点数,其值是多少?8位位23位位131 30 23 22 0二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000l 表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少?l 作为补码整数,其对应的原码是作为补码整数,其对应的原码是1111 0000 0001 0000 0100 0000 0000 0000l 十进制值是十

40、进制值是 -230+ 229 +228 + 220 + 214 l 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?l 作为无符号整数,其十进制值是作为无符号整数,其十进制值是231+ 227+ 226 +225 + 224 + 223+ 222 +221 + 219 +218 + 217 +216 + 215 +214二进制数二进制数1 000 1111 1 110 1111 1100 0000 0000 0000l 作为作为IEEE754规范的单精度浮点数规范的单精度浮点数l 阶码阶码E是是0001 1111l 指数指数e阶码阶码E1270001 1111011

41、1 1111 -1100000B-96Dl 尾数尾数M=110 1111 1100 0000 0000 0000l 那么那么1.M=1. 110 1111 1100 0000 0000 0000=1.110 1111 11l 单精度浮点数值为:单精度浮点数值为:l X (-1)s1.M2e-(1.110 1111 11)2-96l -(0.1110 1111 11)2-95l -(1416-11516-21216-3)2-95l -0.31152-95 2021考研真题考研真题12.一个一个C言语程序在一台言语程序在一台32位机器上运转。程序中定义了三个位机器上运转。程序中定义了三个变量变量x

42、,y和和z,其中,其中x和和z是是int型,型,y为为short型。当型。当x=127,y=-9时,执行赋值语句时,执行赋值语句z=x+y后,后,x、y和和z的值分别是:的值分别是: x=0000007FH , y=FFF9H , z=00000076Hx=0000007FH , y=FFF9H , z=FFFF0076Hx=0000007FH , y=FFF7H , z=FFFF0076Hx=0000007FH , y=FFF7H , z=00000076H2021考研真题考研真题l14.假定变量假定变量i,f,d数据类型分别为数据类型分别为int, float, double(int用补用

43、补码表示,码表示,float和和double用用IEEE754单精度和双精度浮点数据格单精度和双精度浮点数据格式表示式表示),知,知i=785,f=1.5678e3,d=1.5e100,假设在,假设在32位机位机器中执行以下关系表达式,那么结果为真的是器中执行以下关系表达式,那么结果为真的是()l(I) i=(int)(float)il(II)f=(float)(int)fl(III)f=(float)(double)fl(IV)(d+f)-d=fl A. 仅仅I和和II B. 仅仅I和和IIIl C. 仅仅II和和III D. 仅仅III和和IV关键是关键是“=两端的数据类两端的数据类型能否

44、一致!型能否一致!2.1.1数据格式数据格式十进制数串的表示方法十进制数串的表示方法l字符串方式字符串方式l每个十进制数位占用一个字节;每个十进制数位占用一个字节;l除保管各数位,还需求指明该数存放的起始地址和总位数;除保管各数位,还需求指明该数存放的起始地址和总位数;l主要用于非数值计算的运用领域。主要用于非数值计算的运用领域。 l紧缩的十进制数串方式紧缩的十进制数串方式l采用采用BCD二二 - 十编码码表示,一个字节可存放两个十进制十编码码表示,一个字节可存放两个十进制数位;数位;4:1l节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算; l用特殊

45、的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负2.1.3 字符与字符串的表示方法字符与字符串的表示方法lASCII码码(美国国家信息交换规范字符码美国国家信息交换规范字符码)l包括包括128个字符,共需个字符,共需7位编码;位编码;lASCII码规定:最高位为码规定:最高位为0,余下,余下7位作为位作为128个字符的编码。个字符的编码。l最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。l字符串字符串l指延续的一串字符,指延续的一串字符, 每个字节存一个字符。每个字节存一个字符。l当存储字长为当存储字长为2、或、或4个字节时,在同一

46、个存储单元中个字节时,在同一个存储单元中;l可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内容;l或按从高位字节向低位字节的次序顺序存放字符串的内容。或按从高位字节向低位字节的次序顺序存放字符串的内容。 2.1.4 汉字的表示方法汉字的表示方法l汉字的输入编码汉字的输入编码 l目的:直接运用西文规范键盘把汉字输入到计算机目的:直接运用西文规范键盘把汉字输入到计算机 。 l分类:主要有数字编码、拼音码分类:主要有数字编码、拼音码 、字形编码三类。、字形编码三类。l汉字内码汉字内码l用于汉字信息的存储、交换、检索等操作的机内代码用于汉字信息的存储、交换、检

47、索等操作的机内代码l普通采用两个字节表示,为了和普通采用两个字节表示,为了和ASCII区别,最高位为区别,最高位为1。l汉字字模码汉字字模码l用点阵表示的汉字字形代码,用于汉字的输出。用点阵表示的汉字字形代码,用于汉字的输出。显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内机内码码输入码向机内码转换输入码向机内码转换中文编码中文编码字符代码化输入字符代码化输入数字码数字码拼音码拼音码字形码字形码汉字字模码汉字字模码精细型精细型48484848288288提高型提高型32323232128128普及型普及型242424247272简易型简易型161616163232汉字点

48、阵类型汉字点阵类型点阵点阵占用字节数占用字节数2.1.5 校验码数据校验校验码数据校验l数据校验缘由数据校验缘由l为减少和防止数据在计算机系统运转或传送过程中发生错误,为减少和防止数据在计算机系统运转或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持。在数据的编码上提供了检错和纠错的支持。l数据校验码的定义数据校验码的定义l可以发现某些错误或具有自动纠错才干的数据编码;可以发现某些错误或具有自动纠错才干的数据编码;l也称检错码;也称检错码;l数据校验的根本原理是扩展码距;数据校验的根本原理是扩展码距;l码距:恣意两个合法码之间不同的二进制位的最少位数;码距:恣意两个合法码之间不同的二进

49、制位的最少位数;l仅有一位不同时,称其码距为仅有一位不同时,称其码距为1。码距及作用码距及作用l设用四位二进制表示设用四位二进制表示16种形状种形状l16种编码都用到了,此时码距为种编码都用到了,此时码距为1;l任何一种形状的四位码中的一位或几位出错,就变成另一个合任何一种形状的四位码中的一位或几位出错,就变成另一个合法码;法码;l无查错才干。无查错才干。l假设用四位二进制表示假设用四位二进制表示8个形状个形状l只用其中的只用其中的8种编码,而把另种编码,而把另8种编码作为非法编码;种编码作为非法编码;l可使码距扩展为可使码距扩展为2;l留意:并不是任选留意:并不是任选8种编码都可扩展码距;种

50、编码都可扩展码距; 校验码的类型校验码的类型l奇偶校验码奇偶校验码l判别数据中判别数据中1的个数设置的个数设置1位校验位;位校验位;l分奇校验和偶校验两种,只能检错,无纠错才干;分奇校验和偶校验两种,只能检错,无纠错才干;l海明校验码海明校验码l在奇偶校验的根底上添加校验位而得;在奇偶校验的根底上添加校验位而得;l具有检错和纠错的才干;具有检错和纠错的才干;l循环冗余校验码循环冗余校验码CRCl经过模经过模2的除法运算建立数据信息和校验位之间的商定关系;的除法运算建立数据信息和校验位之间的商定关系;l具有很强的检错纠错才干。具有很强的检错纠错才干。奇偶校验码奇偶校验码概念概念l奇偶校验原理奇偶

51、校验原理l在数据中添加在数据中添加1个冗余位,使码距由个冗余位,使码距由1添加到添加到2;l假设合法编码中有奇数个位发生了错误,就将成为非法代码。假设合法编码中有奇数个位发生了错误,就将成为非法代码。l添加的冗余位称为奇偶校验位。添加的冗余位称为奇偶校验位。l校验的类型校验的类型l偶校验:每个码字偶校验:每个码字(包括校验位包括校验位)中中1的数目为偶数。的数目为偶数。l奇校验:每个码字奇校验:每个码字(包括校验位包括校验位)中中1的数目为奇数。的数目为奇数。l校验过程校验过程l发送端:按照校验类型,在发送数据后添加校验位发送端:按照校验类型,在发送数据后添加校验位P;l接纳端:对接纳到的数据

52、包括校验位进展同样类型的校验,接纳端:对接纳到的数据包括校验位进展同样类型的校验,决议数据传输中能否存在错误;决议数据传输中能否存在错误;奇偶校验码奇偶校验码校验原理校验原理l偶校验:在接纳端求校验位偶校验:在接纳端求校验位lP=D7 D6 D5 D4 D3 D2 D1 D0 Pl假设假设P0,那么无错;假设,那么无错;假设P1,那么有错。,那么有错。l奇校验:在接纳端求校验位奇校验:在接纳端求校验位lP=D7 D6 D5 D4 D3 D2 D1 D0 Pl假设假设P1,那么无错;假设,那么无错;假设P0,那么有错。,那么有错。l电路实现:电路实现:l普通采用异或电路得到校验位。普通采用异或电

53、路得到校验位。1010 1011求校验码求校验码偶校验码偶校验码 1010 1011 1奇校验码奇校验码 1010 1011 0接纳端接纳端字字校验位校验位校验码校验码例例1: 数据数据 0010 0001奇校验码奇校验码0010 0001 1偶校验码偶校验码0010 0001 0例例2:数据:数据 : 0111 0101偶校验码偶校验码 0111 0101 1发送端发送端门电路门电路0110 0101 1出错!出错!奇偶校验码奇偶校验码 例题例题1/2例例3:数据:数据 : 0111 0101奇校验码奇校验码 0111 0101 0发送端发送端 门电路门电路0110 0111 0接纳端接纳端

54、正确正确奇偶校验只能发现奇偶校验只能发现奇数个错误,且不能奇数个错误,且不能纠正错误!纠正错误!奇偶校验码奇偶校验码例题例题1/2海明码海明码l海明码是海明码是1950年提出的;年提出的;l只需添加少数的几位校验码,即可检测出多位出错,并能自动只需添加少数的几位校验码,即可检测出多位出错,并能自动恢复一或几位出错信息;恢复一或几位出错信息;l实现原理:实现原理:l在一个数据中参与几个校验位,每个校验位和某几个特定的信在一个数据中参与几个校验位,每个校验位和某几个特定的信息位构成偶校验的关系;息位构成偶校验的关系;l接纳端对每个偶关系进展校验,产生校验因子;接纳端对每个偶关系进展校验,产生校验因

55、子;l经过校正因子区分无错和码字中的经过校正因子区分无错和码字中的n个不同位置的错误;个不同位置的错误;l不同代码位上的错误解得出不同的校验结果;不同代码位上的错误解得出不同的校验结果;海明码海明码确定校验位的位数确定校验位的位数l设设K为有效信息的位数,为有效信息的位数,r为校验位的位数,那么整个码字的位为校验位的位数,那么整个码字的位数数N应满足不等式:应满足不等式:lNKr2r1 l通常称为通常称为N,K海明码海明码l设某设某(7,4)海明码表示的码字长度为海明码表示的码字长度为 位,校验位数为位,校验位数为 位。位。l例如:数据例如:数据D3D2D1D0 =1001lK=4,r+5 2

56、r ;l可知,需求校验位可知,需求校验位3位位P3P2P1 ;73海明码海明码确定校验位的位置确定校验位的位置l数据表示数据表示l数据位数据位DDiDi-1D1D0 、校验位、校验位PPjPj-1P2P1l海明码海明码H 包括数据位和校验位:包括数据位和校验位:HmHm-1H2H1;l分组原那么分组原那么l每个校验位每个校验位Pi从低到高被分在海明码中位号从低到高被分在海明码中位号2i-1的位置;的位置;l例如:数据例如:数据D3D2D1D0 =1001,校验位,校验位P3P2P1l海明码共海明码共7位位H7H6H2H1 ,各位分配如下:,各位分配如下:H7H6H5H4H3H2H1P1 P2

57、P3 D0 D1 D2 D3 海明码海明码校验分组校验分组l校验原那么校验原那么l海明码的每一位海明码的每一位Hi有多个校验位校验,其关系是被校验的每一有多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和;位位号等于校验它的各校验位的位号之和;l每个信息位的位置写成用每个信息位的位置写成用2的幂次之和的方式的幂次之和的方式 ;l例如例如lH7参与参与H1、H2、H4的校验;的校验;lH6参与参与H2、H4的校验;的校验;lH5参与参与H1、H4的校验;的校验;lH3参与参与H1、H2的校验;的校验;l分组情况分组情况H7H6H5H4H3H2H1P1 P2 P3 D0 D1

58、 D2 D3 第一组第一组P1第二组第二组P2第三组第三组P3第一组第一组P1、D3、D1、D0第二组第二组P2、D3、D2、D0 第三组第三组P3、D3、D2、D1 海明码海明码校验位的构成校验位的构成l校验位构成公式校验位构成公式lP1第一组中一切位第一组中一切位(除除P1)求异或求异或l lPj 第第j组中一切位组中一切位(除除Pj)求异或求异或l为了能检测两个错误,添加一位校验为了能检测两个错误,添加一位校验Pj1,放在最高位。,放在最高位。lPj 1一切位一切位(包括包括P1,P2 , , Pj)求异或求异或l例如:例如:lP1D3 D1 D0 =1 0 1=0lP2D3 D2 D0

59、 =1 0 1=0lP3D3 D2 D1 =1 0 0=1lP4D3 D2 D1 D0 P3 P2 P1=1 0 0 1 0 0 1=1第一组第一组P1、D3、D1、D0第二组第二组P2、D3、D2、D0 第三组第三组P3、D3、D2、D1 但不能但不能纠错!纠错!海明码海明码接纳端校验接纳端校验1/2l接纳端接纳到数据后,分别求接纳端接纳到数据后,分别求S1,S2,S3,Sj lS1第一组中一切位第一组中一切位(包括包括P1)求异或求异或 l lSj第第j组中一切位组中一切位(包括包括Pj)求异或求异或lSj 1 Pj 1 一切位一切位(包括包括P1,P2 , , Pj)求异或求异或 l当当

60、Sj 11时,有一位出错;时,有一位出错;l由由Sj S3 S2S1 的编码指出出错位号,将其取反,即可纠错。的编码指出出错位号,将其取反,即可纠错。l当当Sj 10时,无错或有偶数个错两个错的能够性比较大;时,无错或有偶数个错两个错的能够性比较大;l当当Sj S3 S2S1 0 0 00时,接纳的数无错,否那么有两个时,接纳的数无错,否那么有两个错。错。l同上例,接纳端接纳的数据为同上例,接纳端接纳的数据为l接纳端求接纳端求SlS10 1 0 1=0lS20 1 0 1=0lS31 1 0 0=0lS41 1 0 0 1 1 0 0 =0l假设接纳端接纳到错误的数据假设接纳端接纳到错误的数据

温馨提示

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

评论

0/150

提交评论