计算机组成原理第章运方法与运算器_第1页
计算机组成原理第章运方法与运算器_第2页
计算机组成原理第章运方法与运算器_第3页
计算机组成原理第章运方法与运算器_第4页
计算机组成原理第章运方法与运算器_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

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

文档简介

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

2、用的乘除法运算方掌握定点数的补码加减法、了解常用的乘除法运算方法;法;l掌握浮点数的加减运算方法;掌握浮点数的加减运算方法;l理解数据校验的方法;理解数据校验的方法;l理解溢出判断方法;理解溢出判断方法;l了解运算器部件的组成结构及设计方法。了解运算器部件的组成结构及设计方法。 2021年11月7日星期日42.0 数据的类型(数据的类型(1/2)l按数制分:按数制分:十进制:在微机中直接运算困难;十进制:在微机中直接运算困难;二进制:占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;十六进制:方便观察和使用;二二-十进制:十进制:

3、4位二进制数表示位二进制数表示1位十进制数,转换简单。位十进制数,转换简单。l按数据格式分:按数据格式分:真值:没有经过编码的直观数据表示方式,其值可带正负号,真值:没有经过编码的直观数据表示方式,其值可带正负号,任何数制均可;任何数制均可;机器数:符号化后的数值机器数:符号化后的数值(包括正负号的表示包括正负号的表示),一般位数固定,一般位数固定(8、16、32),不能随便忽略任何位置上的,不能随便忽略任何位置上的0或或1;2021年11月7日星期日52.0 数据的类型(数据的类型(2/2)l按数据的表示范围分:按数据的表示范围分:定点数:小数点位置固定,数据表示范围小;定点数:小数点位置固

4、定,数据表示范围小;浮点数:小数点位置不固定,数据表示范围较大。浮点数:小数点位置不固定,数据表示范围较大。l按能否表示负数分:按能否表示负数分:无符号数:所有均为表示数值,直接用二进制数表示;无符号数:所有均为表示数值,直接用二进制数表示;有符号数:有正负之分,最高位为符号位,其余位表有符号数:有正负之分,最高位为符号位,其余位表示数值。示数值。u按编码不同又可分为原码、反码、补码、移码按编码不同又可分为原码、反码、补码、移码2021年11月7日星期日62.1 数据与文字的表示方法数据与文字的表示方法l2.1.1 数据格式数据格式l2.1.2 数的机器码表示数的机器码表示l2.1.3 字符与

5、字符串的表示方法字符与字符串的表示方法l2.1.4 汉字的表示方法汉字的表示方法l2.1.5 校验码校验码 2021年11月7日星期日7l定点数:小数点固定在某一位置的数据;定点数:小数点固定在某一位置的数据;纯小数:纯小数:u表示形式表示形式 x=xsx-1x-2x-n |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为符号位为符号位l注意:小数点的位置是机器约定好的,并没有实际的保存。注意:小数点的位置是机器约定好的,并没有实

6、际的保存。x0 x-1x-2x-3 x-n xnxn-1xn-2x1x02.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据2021年11月7日星期日82.1.1 数据格式数据格式浮点数浮点数l浮点数:小数点位置可变,形如浮点数:小数点位置可变,形如科学计数法科学计数法中的数据表示。中的数据表示。l浮点数格式定义:浮点数格式定义: n= re mm:尾数:尾数(mantissa) ,是一个,是一个纯小数纯小数,表示数据的全部有效,表示数据的全部有效数位,决定着数值的精度;数位,决定着数值的精度;r:基数:基数(radix) ,可以取,可以取2、8、10、16,表示当前的数制

7、;,表示当前的数制;u微机中,一般默认为微机中,一般默认为2,隐含表示。,隐含表示。e: 阶码阶码(exponent) ,是一个,是一个整数整数,用于指出小数点在该数,用于指出小数点在该数中的位置,中的位置,决定着数据数值的大小决定着数据数值的大小。l浮点数的一般表示形式浮点数的一般表示形式阶符阶符阶码阶码数符数符尾数尾数数符数符阶符阶符阶码阶码尾数尾数2021年11月7日星期日9科学计数法的表示科学计数法的表示l一个十进制数可以表示成不同的形式:一个十进制数可以表示成不同的形式:l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示:3310()123.456123456

8、100.123456 10n1001002()1101.001111010011 20.1101.0011 2n2021年11月7日星期日10浮点数规格化浮点数规格化l浮点数的表示浮点数的表示1.1120=0.11121=11.12-1机器数的表示不同,不利于运算机器数的表示不同,不利于运算l规格化的目的规格化的目的保证浮点数表示的唯一性;保证浮点数表示的唯一性;保留更多地有效数字,提高运算的精度。保留更多地有效数字,提高运算的精度。l规格化要求规格化要求|尾数尾数|0.5;l规格化处理:规格化处理:尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,同时阶码减n;尾数向右移尾数向

9、右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。规格化规格化右规右规左规左规2021年11月7日星期日11浮点数的规格化浮点数的规格化l尾数用尾数用原码原码表示时表示时尾数最高数值位为尾数最高数值位为1;尾数形如尾数形如0.1(正);或(正);或1.1(负);(负);例如,例如,0.01125要规格化则变为要规格化则变为0.1124; 0.01125要规格化则变为要规格化则变为1.1124;l尾数用尾数用补码补码表示时表示时尾数最高数值位和尾数符号位相反;尾数最高数值位和尾数符号位相反;尾数形如尾数形如0.1(正);或(正);或1.0(负)(负)例如,例如,0.01125要规格化

10、,则变为要规格化,则变为0.1124; 0.01125要规格化,则变为要规格化,则变为1.0124;2021年11月7日星期日12例:将十进制数例:将十进制数-54表示成表示成二进制定点数二进制定点数(16位位)和和浮点数浮点数(16位,其中数值部分位,其中数值部分10位,阶码部分位,阶码部分4位,阶符和数符各位,阶符和数符各取取1位位),并写出它在定点机和浮点机中的机器数形式。,并写出它在定点机和浮点机中的机器数形式。l令令 x = -54,则,则x = -110110l16位定点数真值表示:位定点数真值表示: x = -000 0000 0011 0110定点机器数形式定点机器数形式 x原

11、原: x补补:l浮点数规格化表示:浮点数规格化表示:x = -(0.1101100000)2110浮点机器数形式浮点机器数形式 x原原: x补补:1 000 0000 0011 01101 111 1111 1100 10100 0110 ; 1 11 0110 00000 0110 ; 1 00 1010 00002021年11月7日星期日13浮点数的浮点数的ieee754标准表示标准表示lieee(institute of electrical and electronics engineers)美国电气及电子工程师学会美国电气及电子工程师学会ieee是一家总部在美国的工程技术和电子专家的

12、组织;是一家总部在美国的工程技术和电子专家的组织;ieee致力于电气、电子、计算机工程和与科学有关的领域致力于电气、电子、计算机工程和与科学有关的领域的开发和研究,也是计算机网络标准的主要制定者。的开发和研究,也是计算机网络标准的主要制定者。 l为便于软件移植,按照为便于软件移植,按照 ieee754 标准,实际机器内标准,实际机器内32位浮点位浮点数和数和64位浮点数的标准格式如下:位浮点数的标准格式如下:022233031sem2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符3232位浮点数位浮点数051526263sem6464位浮

13、点数位浮点数2021年11月7日星期日14单精度浮点数与双精度浮点数单精度浮点数与双精度浮点数l高级语言的高级语言的float、double使用的即是使用的即是ieee754规定的格式。规定的格式。lfloat :32位浮点值,也叫单精度浮点数(位浮点值,也叫单精度浮点数(4字节保存)字节保存)ldouble:64位浮点值,也叫双精度浮点数(位浮点值,也叫双精度浮点数(8字节保存)字节保存)l单精度浮点数的例子:单精度浮点数的例子: 1位位 8位位 7位位 8位位 8位位 -11000.012021年11月7日星期日1532位浮点数的位浮点数的ieee754 标准表示标准表示l数符数符s:表示

14、浮点数的符号,占表示浮点数的符号,占1 1位,位,0 0正数、正数、1 1负数;负数;l尾数尾数m:2323位,原码纯小数表示,小数点在尾数域的最前面;位,原码纯小数表示,小数点在尾数域的最前面;由于原码表示的规格化浮点数要求,由于原码表示的规格化浮点数要求,最高数值位始终为最高数值位始终为1,因,因此该标准中隐藏最高数值位此该标准中隐藏最高数值位(1),尾数的实际值为,尾数的实际值为1.m;l阶码阶码e:8 8 位,采用有偏移值的移码表示;位,采用有偏移值的移码表示;e=e+127,其中,其中e是指数真值是指数真值l浮点数的真值:浮点数的真值:n=(-1)s(1.m)2e-127数符数符s阶

15、码阶码e尾数尾数m2021年11月7日星期日16ieee754 标准格式标准格式 (64位格式)位格式)其真值表示为:其真值表示为: x=(1)s(1.m)2e1023 ee10232021年11月7日星期日17ieee754 标准的数据表示标准的数据表示lieee754 标准中的阶码标准中的阶码e正零、负零正零、负零ue与与m均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定;正无穷、负无穷正无穷、负无穷ue为全为全1,m为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定;阶码阶码e的其余值(的其余值(0000 00011111 1110)为规格化数据;)为规格化数据

16、;u真正的指数真正的指数e的范围为的范围为-126+127e=0000 0000,m=0000 0000e=1111 1111,m=0000 00000000 0000 1111 11112021年11月7日星期日18ieee754 标准对特殊数据的表示标准对特殊数据的表示符号位符号位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(无穷大无穷大)2021年11月7日星期日19课本课本p18 例例1l例例1 若浮点数的若浮点数的754标准存储格

17、式为标准存储格式为(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尾数尾数m2021年11月7日星期日20课本课本p18 例例2l例例2

18、将将(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 2021年11月7日星期日21求解技巧求解技巧l例如:将下列十进制数表示成例如

19、:将下列十进制数表示成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

20、0000 0000 0000 00练习:练习: 1、将、将20.1875转换成转换成32位浮点数存储?位浮点数存储? 2、若浮点数的二进制存储格式为(、若浮点数的二进制存储格式为(41a18000)16,求,求其十进制值?其十进制值?作业:作业: 将十进制数将十进制数17.296875转换成转换成ieee754格式的格式的32位浮点数位浮点数的二进制存储。的二进制存储。课堂练习和补充习题2021年11月7日星期日232.1.2 数的机器码表示数的机器码表示l重点:重点:1、原码、补码、移码的表示形式、原码、补码、移码的表示形式2、补码的定义、补码的定义3、原码、补码、移码的表示范围、原码、补码

21、、移码的表示范围2021年11月7日星期日241、原码表示法、原码表示法定义定义l定义:定义:定点小数:定点小数:x原原定点整数:定点整数:x原原l举例:举例:+0.110 原原 0.110-0.110原原 1 - (-0.110) = 1.110+110原原 0110-110原原 23- (-110) 1000 +110 = 1110 x1 x 01- x=1+|x| 0 x -1x2n x 02n- x=2n+|x| 0 x -2n实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点2021年11月7日星期日251、原码表示法、原码表示法特点特点l0有两种表示法有两种表示法+0原原

22、 = 0000 ; -0原原 = 1000l数据表示范围数据表示范围定点小数:定点小数:-1x1定点整数定点整数: -2nx2n (若数值位(若数值位n=3即:即:-8x x 02+x = 2 - |x| 0 x -1x 2n x 02n+1+x = 2n+1-|x| 0 x -2nx为为n+1位位(mod 2)(mod 2n+1)实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点2021年11月7日星期日302、补码表示法、补码表示法特点特点l0有唯一的表示法有唯一的表示法-0补补 24+(-0 ) mod 24 0000 +0补补l数据表示范围数据表示范围定点小数:定点小数:-1

23、x1定点整数定点整数: -2nx2n (若(若n=3,则,则-8x x -2nl与与x补补的区别:的区别:符号位相反符号位相反l优点:优点:可以比较直观地判断两个数据的大小;可以比较直观地判断两个数据的大小;u浮点数运算时,容易进行对阶操作;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;表示浮点数阶码时,容易判断是否下溢;u当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。真值真值补码补码移码移码-810000000-710010001-610100010000001000+100011001+7011111114位补码与移码位补码与移码2021年11月7日星期日34

24、原、补、移码的编码形式原、补、移码的编码形式l正数:正数:原、补码的编码完全相同;原、补码的编码完全相同;补码和移码的符号位相反,数值位相同;补码和移码的符号位相反,数值位相同;l负数:负数:原码:原码: 符号位为符号位为1 数值部分与真值的绝对值相同数值部分与真值的绝对值相同补码:补码: 符号位为符号位为1数值部分与原码各位相反,且末位加数值部分与原码各位相反,且末位加1移码:移码: 符号位与补码相反,数值位与补码相同符号位与补码相反,数值位与补码相同2021年11月7日星期日35课本课本p22例例6以定点整数为例以定点整数为例,用数轴形式说明原码、反码、用数轴形式说明原码、反码、补码、移码

25、表示范围和可能的数码组合情况。补码、移码表示范围和可能的数码组合情况。2021年11月7日星期日362021年11月7日星期日36课本课本p22例例7将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。十进制真十进制真值值二进制真值二进制真值原码表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示-127-111 11111111 11111000 00001000 00010000 0001-1-000 00011000 00011111 11101111 11110111 11110+00

26、0 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符号位符号位(正负数正负数)取反取反负数时负数时2021年11月7日星期日37p22例例8设机器字长设机器字长16位,定点表示,尾数位,定点表示,尾数15位,数符位,数符1位,问:位,问: (

27、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定点原码

28、小数定点原码小数最大正数最大正数最小负数最小负数2021年11月7日星期日38补充:浮点数的数据表示范围补充:浮点数的数据表示范围0最大最大负数负数最小最小正数正数最小最小负数负数最大最大正数正数下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区尾数尾数负的最小值负的最小值负的最大值负的最大值 正的最小值正的最小值 正的最大值正的最大值阶码阶码正的最大值正的最大值负的最小值负的最小值 负的最小值负的最小值 正的最大值正的最大值l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出上溢:阶码大于所能表示的最大值;上溢:阶码大于所能表示的最大值;下溢:阶码小于所能表示的最小值;下溢:阶码小于所能

29、表示的最小值;l机器零:机器零:尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值;2021年11月7日星期日390 1 1 0 1 11 5 1 9 【例【例1】设浮点数的阶码】设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最大正数最大正数:阶码正最大、尾数正最大阶码正最大、尾数正最大最大正数为最大正数为0.11120111 即(即(129)231该浮点数即为该浮点数即为规格化规格化数形式;数形式;20

30、21年11月7日星期日40【例【例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

31、 5 1 9 2021年11月7日星期日41【例【例1】设浮点数的阶码】设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码采用补码表示,尾数位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。采用原码表示,分析其浮点数表示范围。l最小负数:阶码正最大,尾数负最小最小负数:阶码正最大,尾数负最小最小负数为最小负数为0.112011即(即(129)2(251)= (129) 231该浮点数即为该浮点数即为规格化规格化数形式;数形式;0 1 1 1 1 11 m 1 n 2021年11月7日星期日42【例【例1】设浮点数的阶码】设浮点数的阶码6

32、位(含符号位),尾数位(含符号位),尾数为为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 2021年11月7日星期日43浮点数的

33、最值浮点数的最值非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为1位阶符位阶符m位阶码位阶码1位数符位数符n位尾数位尾数 补码表示补码表示-2m,+(2m-1)原码表示原码表示- (1-2-n) ,+(1-2-n)-(1-2-n)2+(2m-1)-2-n2-2m+2-n2-2m+(1-2-n)2+(2m-1)0 111;1 11111 000;1 00011 000;0 00010 111;0 1111同左同左同左同左1 000;11000-2-12-2m+2-12-

34、2m同左同左同左同左1 000;010002021年11月7日星期日44【例【例2】设浮点数的阶码】设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最大正数最大正数 阶码最大、尾数最大阶码最大、尾数最大 最大正数为最大正数为0.1112111 (129)231l 最小正数最小正数 最小正数为最小正数为0.1000232 即即2-3221 2-33 注意:注意:不是不是 u因为因为0.01 2-32不是规格化数。不是规格化数。0 1 1

35、0 1 11 5 1 9 1 0 0 0 10 001 5 1 9 1 0 0 0 0 011 5 1 9 2021年11月7日星期日45【例【例2】设浮点数的阶码】设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最小的负数最小的负数 最小负数为最小负数为1.000231 即即231(1)= 231l 最大的负数最大的负数 最大负数为最大负数为0.1001232 即(即( 29+ 21 )232 注意:因有规格化要求,不是注意:因有规格

36、化要求,不是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 2021年11月7日星期日46浮点数的最值浮点数的最值非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为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 0

37、0000 000;1 11110 000;0 00011 111;0 1111同左同左同左同左0 000;1 0111-(2-1+2-n)2-2m+2-12-2m同左同左同左同左0 000;010002021年11月7日星期日472009考研真题考研真题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=fff9

38、h , z=00000076hb.x=0000007fh , y=fff9h , z=ffff0076hc.x=0000007fh , y=fff7h , z=ffff0076hd.x=0000007fh , y=fff7h , z=00000076h2021年11月7日星期日482.1.1数据格式数据格式十进制数串的表示方法十进制数串的表示方法l字符串形式字符串形式每个十进制每个十进制数位数位占用一个字节;占用一个字节;除保存各数位,还需要指明该数存放的起始地址和总位数;除保存各数位,还需要指明该数存放的起始地址和总位数;主要用于非数值计算的应用领域。主要用于非数值计算的应用领域。 l压缩的

39、十进制数串形式压缩的十进制数串形式采用采用bcd码表示,一个字节可存放两个十进制数位;码表示,一个字节可存放两个十进制数位;节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算; 用特殊的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负2021年11月7日星期日492.1.3 字符与字符串的表示方法字符与字符串的表示方法lascii码码(美国国家信息交换标准字符码美国国家信息交换标准字符码)包括包括128个字符,共需个字符,共需7位编码;位编码;ascii码规定:最高位为码规定:最高位为0,余下,余下7位作为位作为1

40、28个字符的编码。个字符的编码。最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。l字符串字符串指连续的一串字符,指连续的一串字符, 每个字节存一个字符。每个字节存一个字符。当存储字长为当存储字长为2、或、或4个字节时,在同一个存储单元中个字节时,在同一个存储单元中;u可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内容;u或按从高位字节向低位字节的次序顺序存放字符串的内容。或按从高位字节向低位字节的次序顺序存放字符串的内容。 2021年11月7日星期日502.1.4 汉字的表示方法汉字的表示方法l汉字的输入编码汉字的输入编码 目的:直

41、接使用西文标准键盘把汉字输入到计算机目的:直接使用西文标准键盘把汉字输入到计算机 。 分类:主要有数字编码、拼音码分类:主要有数字编码、拼音码 、字形编码三类。、字形编码三类。l汉字内码汉字内码用于汉字信息的存储、交换、检索等操作的机内代码用于汉字信息的存储、交换、检索等操作的机内代码l汉字字模码汉字字模码用点阵表示的汉字字形代码,用于汉字的输出。用点阵表示的汉字字形代码,用于汉字的输出。2021年11月7日星期日51显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内机内码码输入码向机内码转换输入码向机内码转换中文编码中文编码字符代码化(输入)字符代码化(输入)数字码数字

42、码拼音码拼音码字形码字形码2021年11月7日星期日52汉字字模码汉字字模码精密型精密型4848 4848288288提高型提高型3232 3232128128普及型普及型2424 24247272简易型简易型1616 16163232汉字点阵类型汉字点阵类型点阵点阵占用字节数占用字节数2021年11月7日星期日532.1.5 校验码(数据校验)校验码(数据校验)l数据校验原因数据校验原因为减少和避免数据在计算机系统运行或传送过程中发生错为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持。误,在数据的编码上提供了检错和纠错的支持。l数据校验码的定义数据校

43、验码的定义能够发现某些错误或具有自动纠错能力的数据编码;能够发现某些错误或具有自动纠错能力的数据编码;也称检错码;也称检错码;l数据校验的基本原理是数据校验的基本原理是扩大码距扩大码距;码距码距:任意任意两个合法码之间不同的二进制位的两个合法码之间不同的二进制位的最少位数最少位数;仅有一位不同时,称其码距为仅有一位不同时,称其码距为1。2021年11月7日星期日54码距及作用码距及作用l设用四位二进制表示设用四位二进制表示16种状态种状态16种编码都用到了,此时码距为种编码都用到了,此时码距为1;任何一种状态的四位码中的一位或几位出错,就变成另一任何一种状态的四位码中的一位或几位出错,就变成另

44、一个合法码;个合法码;无查错能力。无查错能力。l若用四位二进制表示若用四位二进制表示8个状态个状态只用其中的只用其中的8种编码,而把另种编码,而把另8种编码作为非法编码;种编码作为非法编码;可使码距扩大为可使码距扩大为2; 2021年11月7日星期日55校验码的类型校验码的类型l奇偶校验码奇偶校验码判断数据中判断数据中1的个数设置的个数设置1位校验位;位校验位;分奇校验和偶校验两种,只能检错,无纠错能力;分奇校验和偶校验两种,只能检错,无纠错能力;l海明校验码海明校验码(有兴趣自学)(有兴趣自学)在奇偶校验的基础上增加校验位而得;在奇偶校验的基础上增加校验位而得;具有检错和纠错的能力;具有检错

45、和纠错的能力;l循环冗余校验码(循环冗余校验码(crc)(有兴趣自学)(有兴趣自学)通过模通过模2的除法运算建立数据信息和校验位之间的约定关系;的除法运算建立数据信息和校验位之间的约定关系;具有很强的检错纠错能力。具有很强的检错纠错能力。2021年11月7日星期日56奇偶校验码奇偶校验码概念概念l奇偶校验原理奇偶校验原理在数据中增加在数据中增加1个冗余位,使码距由个冗余位,使码距由1增加到增加到2;如果合法编码中有奇数个位发生了错误,就将成为非法代码。如果合法编码中有奇数个位发生了错误,就将成为非法代码。增加的冗余位称为奇偶校验位。增加的冗余位称为奇偶校验位。l校验的类型校验的类型偶校验:每个

46、码字偶校验:每个码字(包括校验位包括校验位)中中1的数目为偶数。的数目为偶数。奇校验:每个码字奇校验:每个码字(包括校验位包括校验位)中中1的数目为奇数。的数目为奇数。l校验过程校验过程发送端:按照校验类型,在发送数据后添加校验位发送端:按照校验类型,在发送数据后添加校验位p;接收端:对接收到的数据(包括校验位)进行接收端:对接收到的数据(包括校验位)进行同样类型的校同样类型的校验验,决定数据传输中是否存在错误;,决定数据传输中是否存在错误;2021年11月7日星期日57奇偶校验码奇偶校验码校验原理校验原理l偶校验:在接收端求校验位偶校验:在接收端求校验位p=d7 d6 d5 d4 d3 d2

47、 d1 d0 p若若p0,则无错;若,则无错;若p1,则有错。,则有错。l奇校验:在接收端求校验位奇校验:在接收端求校验位p=d7 d6 d5 d4 d3 d2 d1 d0 p若若p1,则无错;若,则无错;若p0,则有错。,则有错。l电路实现:电路实现:一般采用异或电路得到校验位。一般采用异或电路得到校验位。1010 1011求校验码求校验码偶校验码偶校验码 1010 1011 1奇校验码奇校验码 1010 1011 02021年11月7日星期日58接收端接收端字字校验位校验位校验码校验码例例1: 数据数据 0010 0001奇校验码奇校验码0010 0001 1偶校验码偶校验码0010 00

48、01 0例例2:数据:数据 : 0111 0101偶校验码偶校验码 0111 0101 1发送端发送端(门电路)(门电路)0110 0101 1出错!出错!奇偶校验码奇偶校验码 例题(例题(1/2)2021年11月7日星期日59例例3:数据:数据 : 0111 0101奇校验码奇校验码 0111 0101 0发送端发送端 (门电路)(门电路)0110 0111 0接收端接收端正确正确奇偶校验只能发现奇偶校验只能发现奇数个错误,且不能奇数个错误,且不能纠正错误!纠正错误!奇偶校验码奇偶校验码例题(例题(1/2)2021年11月7日星期日60海明码海明码(ppt 58ppt67自学)自学)l海明码

49、是海明码是1950年提出的;年提出的;只要增加少数的几位校验码,即可检测出多位出错,并能自只要增加少数的几位校验码,即可检测出多位出错,并能自动恢复一或几位出错信息;动恢复一或几位出错信息;l实现原理:实现原理:在一个数据中加入几个校验位,在一个数据中加入几个校验位,每个校验位和某几个特定的每个校验位和某几个特定的信息位信息位构成偶校验的关系;构成偶校验的关系;接收端对每个偶关系进行校验,产生校验因子;接收端对每个偶关系进行校验,产生校验因子;通过通过校正因子校正因子区分区分无错无错和码字中的和码字中的n个不同位置的错误个不同位置的错误;u不同代码位上的错误会得出不同的校验结果;不同代码位上的

50、错误会得出不同的校验结果;2021年11月7日星期日61海明码海明码确定校验位的位数确定校验位的位数l设设k为有效信息的位数,为有效信息的位数,r为校验位的位数,则整个码字的位数为校验位的位数,则整个码字的位数n应满足不等式:应满足不等式:nkr2r1 通常称为(通常称为(n,k)海明码)海明码l设某设某(7,4)海明码表示的码字长度为海明码表示的码字长度为 位,校验位数为位,校验位数为 位。位。l例如:数据例如:数据d3d2d1d0 =1001k=4,r+5 2r ;可知,需要校验位可知,需要校验位3位位p3p2p1 ;732021年11月7日星期日62海明码海明码确定校验位的位置确定校验位

51、的位置l数据表示数据表示数据位数据位d(didi-1d1d0) 、校验位、校验位p(pjpj-1p2p1)海明码海明码h (包括数据位和校验位):(包括数据位和校验位):hmhm-1h2h1;l分组原则分组原则每个校验位每个校验位pi从低到高被分在海明码中位号从低到高被分在海明码中位号2i-1的位置;的位置;l例如:数据例如:数据d3d2d1d0 =1001,校验位,校验位p3p2p1海明码共海明码共7位位h7h6h2h1 ,各位分配如下:,各位分配如下:h7h6h5h4h3h2h1p1 p2 p3 d0 d1 d2 d3 2021年11月7日星期日63海明码海明码校验分组校验分组l校验原则校

52、验原则海明码的每一位海明码的每一位hi有多个校验位校验,其关系是有多个校验位校验,其关系是被校验的每被校验的每一位位号一位位号等于等于校验它的各校验位的位号之和校验它的各校验位的位号之和;每个信息位的位置写成用每个信息位的位置写成用2的幂次之和的形式的幂次之和的形式 ;l例如例如h7参与参与h1、h2、h4的校验;的校验;h6参与参与h2、h4的校验;的校验;h5参与参与h1、h4的校验;的校验;h3参与参与h1、h2的校验;的校验;l分组情况分组情况h7h6h5h4h3h2h1p1 p2 p3 d0 d1 d2 d3 第一组第一组p1第二组第二组p2第三组第三组p3第一组(第一组(p1、d3

53、、d1、d0)第二组(第二组(p2、d3、d2、d0 )第三组(第三组(p3、d3、d2、d1 )2021年11月7日星期日64海明码海明码校验位的形成校验位的形成l校验位形成公式校验位形成公式p1第一组中所有位第一组中所有位(除除p1)求异或求异或 pj 第第j组中所有位组中所有位(除除pj)求异或求异或l为了能检测两个错误,增加一位校验为了能检测两个错误,增加一位校验pj1,放在,放在最高位最高位。pj 1所有位所有位(包括包括p1,p2 , , pj)求异或求异或l例如:例如:p1d3 d1 d0 =1 0 1=0p2d3 d2 d0 =1 0 1=0p3d3 d2 d1 =1 0 0=

54、1p4d3 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 )但不能但不能纠错!纠错!2021年11月7日星期日65海明码海明码接收端校验(接收端校验(1/2)l接收端接收到数据后,分别求接收端接收到数据后,分别求s1,s2,s3,sj s1第一组中所有位第一组中所有位(包括包括p1)求异或求异或 sj第第j组中所有位组中所有位(包括包括pj)求异或求异或sj 1 pj 1 所有位所有位(包括包括p1,p2 , , pj)求异或求异或 l当当sj 11时,

55、有一位出错;时,有一位出错;由由sj s3 s2s1 的编码指出出错位号,将其取反,即可纠错。的编码指出出错位号,将其取反,即可纠错。l当当sj 10时,无错或有偶数个错(两个错的可能性比较大);时,无错或有偶数个错(两个错的可能性比较大);l当当sj s3 s2s1 0 0 00时,接收的数无错,否则有两个错。时,接收的数无错,否则有两个错。2021年11月7日星期日66l同上例,接收端接收的数据为同上例,接收端接收的数据为l接收端求接收端求ss10 1 0 1=0s20 1 0 1=0s31 1 0 0=0s41 1 0 0 1 1 0 0 =0l若接收端接收到错误的数据若接收端接收到错误

56、的数据s10 1 0 1=0s20 1 1 1=1s31 1 1 0=1s41 1 1 0 1 1 0 0 =1海明码海明码接收端校验(接收端校验(2/2)h8h7h6h5h4h3h2h1p4d3d2d1p3d0p2p111001100第一组(第一组(p1、d3、d1、d0)第二组(第二组(p2、d3、d2、d0 )第三组(第三组(p3、d3、d2、d1 )无错误!无错误!1s4=1,有错误!,有错误!s3s2s1=110,h6位有错,应取反!位有错,应取反!2021年11月7日星期日67【练习】设待校验的数据为【练习】设待校验的数据为d7d010101011,写出其海明校验码。,写出其海明校

57、验码。【解】【解】确定海明校验位的位数确定海明校验位的位数 因为因为k8, 由由nkr 2r1,得,得9r 2r,校验位的位数为,校验位的位数为r4。确定校验位的位置确定校验位的位置 i:12 11 10 9 8 7 6 5 4 3 2 1 d7 d6 d5 d4 p4 d3 d2 d1 p3 d0 p2 p1分组(分组(n位分位分r组)组)位号位号i121110987654321d7d6d5d4p4d3d2d1p3d0p2p110101011第一组第一组(p1)第二组第二组(p2)第三组第三组(p3)2021年11月7日星期日68【练习】设待校验的数据为【练习】设待校验的数据为d7d0101

58、01011,写出其海明校验码。,写出其海明校验码。校验位的形成校验位的形成 p1=d6 d4 d3 d1 d0 1; p2=d6 d5 d3 d2 d0 1 p3=d7 d3 d2 d1 1 ; p4=d7 d6 d5 d4 0 所以,信息码所以,信息码10101011的海明校验码为:的海明校验码为:1010 0 101 1 1 112021年11月7日星期日69海明码的纠错与检错能力海明码的纠错与检错能力l一个系统能纠正一位差错时,码距最一个系统能纠正一位差错时,码距最小是小是3;码距为码距为3时,或能纠正一位错,或时,或能纠正一位错,或能检测二位错;能检测二位错;但不能同时纠正一位错并检测

59、二但不能同时纠正一位错并检测二位错。位错。l码距为码距为1至至7时,海明码的纠错和检错时,海明码的纠错和检错能力如右表:能力如右表:l码距越大,纠错能力越强,但数据冗码距越大,纠错能力越强,但数据冗余也越大,即编码效率低了。余也越大,即编码效率低了。 码距码距码码 能能 力力检错检错 纠错纠错1 10 00 02 21 01 03 32 2 或或 1 14 42 2 并并 1 15 52 2 并并 2 26 63 3 并并 2 27 73 3 并并 3 32021年11月7日星期日70crc校验校验(自学)(自学)lcrc的工作方法的工作方法在发送端产生一个循环冗余码,附加在信息位后面一起发在

60、发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端;送到接收端;接收端收到的信息按发送端形成循环冗余码同样的算法进接收端收到的信息按发送端形成循环冗余码同样的算法进行校验;行校验;若无错,则接收;若有错,需重发。若无错,则接收;若有错,需重发。 lcrc的特点的特点可检测出所有奇数位错;可检测出所有奇数位错;可检测出所有双比特的错;可检测出所有双比特的错;可检测出所有小于、等于校验位长度的突发错。可检测出所有小于、等于校验位长度的突发错。 lcrc码的信息字段和校验字段的长度可以任意选定。码的信息字段和校验字段的长度可以任意选定。 2021年11月7日星期日712.2 定点加法、减法运

温馨提示

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

评论

0/150

提交评论