计算机组成原理-第2章 信息表示与编码_第1页
计算机组成原理-第2章 信息表示与编码_第2页
计算机组成原理-第2章 信息表示与编码_第3页
计算机组成原理-第2章 信息表示与编码_第4页
计算机组成原理-第2章 信息表示与编码_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章2022年6月25日信息表示与编码信息表示与编码1 1、进位计数制以及相互转换进位计数制以及相互转换十进制,二进制,八进制,十六进制十进制,二进制,八进制,十六进制2 2、数值数据和非数值数据的表示方法、数值数据和非数值数据的表示方法数值数据数值数据 定点数定点数-原原反反补补移移 浮点数浮点数-IEEE754IEEE754 BCD BCD码码 非数值数据非数值数据 ASCIIASCII、汉字汉字计算机中计算机中 数值数据数值数据 非数值数据非数值数据 是如何表示?是如何表示?1 1、进位计数制、进位计数制进位计数制进位计数制:用少量的数字符号,按先后次序把它们排成数位,:用少量的数字符

2、号,按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制由低到高进行计数,计满进位,这样的方法称为进位计数制基数:基数:进位制基本特征数,即所用到的数字符号个数进位制基本特征数,即所用到的数字符号个数例如例如1010进制进制 :09 09 十个数码表示,基数为十个数码表示,基数为1010权:权:进位制中各位进位制中各位“1”“1”所表示的值为该位的权所表示的值为该位的权常见的进位制:常见的进位制: 2 2,8 8,1010,1616进制进制十进制数的多项式表示十进制数的多项式表示: :N10=dn-1 10n-1 + dn-2 10n-2 + d1 101 + d0

3、100 + d-1 10-1 + d-2 10-2 + d-m 10-M m,nm,n为正整数为正整数, ,其中其中n n为整数位数;为整数位数;m m为小数位数。为小数位数。DiDi表表示第示第i i位的系数位的系数,10,10i i称为该位的权称为该位的权. .1、十进制(Decimal)基数基数:10; 符号符号:0,1,2,3,4,5,6,7,8,9计算规律计算规律:“逢十进一逢十进一 ”或或“借一当十借一当十”例如例如:一个十进制数一个十进制数123.45的表示的表示123.45 =1102+ 2101+ 3 100 + 410-1+ 510-2注:等式左边为并列表示法等式右边为多项

4、式表示法注:等式左边为并列表示法等式右边为多项式表示法2 2、二进制、二进制( (B Binary)inary)二进制的多项式表示二进制的多项式表示:N2=dn-1 2n-1 + dn-2 2n-2 + d1 21 + d0 20 + d-1 2-1 + d-2 2-2 + d-m 2-m其中其中n为整数位数;为整数位数;m为小数位数。为小数位数。Di表示第表示第i位的系数位的系数,2i称为该位的权称为该位的权. 基数基数:2符号符号:0,1计算规律计算规律:逢二进一或借一当二逢二进一或借一当二3、十六进制(Hexadecimal)二进制的多项式表示二进制的多项式表示: :N16=dn-1 1

5、6n-1 + dn-2 16n-2 + d1 161 + d0 160 + d-1 16-1 + d-2 16-2 + d-m 16-m 其中其中n为整数位数;为整数位数;m为小数位数。为小数位数。Di表示第表示第i位的系数位的系数,16i称称为该位的权为该位的权.基数基数: :1616符号符号: :0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FA,B,C,D,E,F计算规律计算规律: :逢十六进一或借一当十六逢十六进一或借一当十六例如十六进制数例如十六进制数 (2C7.1F)16的表示的表示 (2C7.1F)16=2 162+ 12 1

6、61+ 7 160+ 1 16-1+ 15 16-24 、进位计数制之间的转换1)R进制转换成十进制的方法进制转换成十进制的方法按权展开法按权展开法:先写成多项式先写成多项式,然后计算十进制结果然后计算十进制结果.N= dn-1dn-2 d1d0d-1d-2 d-m=dn-1 Rn-1 + dn-2 Rn-2 + d1 R1 + d0 R0 + d-1 R-1 + d-2 R-2 + d-m R-m例例: :写出写出(1101.01)(1101.01)2 2,(237),(237)8 8,(10,(10D)D)1616的十进制数的十进制数(10D)16=1162+13160=256+13=26

7、9(1101.01)2=123+122+021+120+02-1+12-2 =8+4+1+0.25=13.25(237)8=282+381+780 =128+24+7=1592)十进制转换成二进制方法)十进制转换成二进制方法一般分为两个方法一般分为两个方法:方法1、整数部分的转换 除除2取余法(基数除法)取余法(基数除法) 小数部分的转换 乘乘2取整法(基数乘法)取整法(基数乘法)方法2、减权定位法减权定位法除基取余法除基取余法:把给定的除以基数:把给定的除以基数,取余数作为最低位的系数取余数作为最低位的系数,然然后继续将商部分除以后继续将商部分除以 基数基数,余数作为次低位系数余数作为次低位

8、系数,重复操作重复操作直至商为直至商为 0例如:用基数除法将例如:用基数除法将(327)10转换成二进制数转换成二进制数2 327 余数2 163 1 2 81 1 2 40 1 2 20 0 2 10 0 2 5 0 2 2 1 2 1 0 2 0 1 (327)(327)10 10 =(101000111) =(101000111) 2 2 把给定的十进制小数乘以把给定的十进制小数乘以 2 , 2 ,取其整数作为二进制小数的第取其整数作为二进制小数的第一位一位, ,然后取小数部分继续乘以然后取小数部分继续乘以2,2,将所的整数部分作为第二位将所的整数部分作为第二位小数小数, ,重复操作直至

9、得到所需要的二进制小数重复操作直至得到所需要的二进制小数例如例如: :将将(0.8125) (0.8125) 10 10 转换成二进制小数转换成二进制小数 整数部分整数部分 0. 0.2 2 0.8125=1.625 10.8125=1.625 12 2 0.625 =1.25 10.625 =1.25 12 2 0.25 =0.5 00.25 =0.5 02 2 0.5 =1 10.5 =1 1(0.8125) (0.8125) 10 10 =(0.1101) =(0.1101) 2 2乘基取整法乘基取整法(小数部分的转换小数部分的转换)例例:将将(0.2)10 10 转换成二进制小数转换成

10、二进制小数整数部分整数部分 0 0.2 0.2 2 = 0.42 = 0.4 0 00.4 0.4 2 = 0.8 2 = 0.8 0 00.8 0.8 2 = 1.6 2 = 1.6 1 10.6 0.6 2 = 1.2 2 = 1.2 1 10.2 0.2 2 = 0.4 2 = 0.4 0 00.4 0.4 2 = 0.8 2 = 0.8 0 00.8 0.8 2 = 1.6 2 = 1.6 1 10.6 0.6 2 = 1.2 2 = 1.2 1 1 (0.2)10 10 = 0.001100110011. 2 2 减权定位法减权定位法 将十进制数依次从二进制的最高位权值进行比较,若够

11、减则对应将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置位置1 1,减去该权值后再往下比较,若不够减则对应位为,减去该权值后再往下比较,若不够减则对应位为0 0,重复操作直,重复操作直至差数为至差数为0 0。 512 256 128 64 32 16 8 4 2 1512 256 128 64 32 16 8 4 2 1例如例如:将:将 (327) (327)10 10 转换成二进制数转换成二进制数 256327512 256327512 327 - 256=71 1 256 327 - 256=71 1 256 71 128 0 128 71 128 0 128 71 - 64

12、=7 1 64 71 - 64 =7 1 64 7 32 0 32 7 32 0 32 7 16 0 16 7 16 0 16 7 8 0 8 7 8 0 8 7 - 4 =3 1 4 7 - 4 =3 1 4 3 2 =1 1 2 3 2 =1 1 2 1 1 =0 1 1 1 1 =0 1 1二进制二进制( (B B) )转换成八进制转换成八进制( (Q Q) )例:例:(10110111 .01101) 2 2(10110111.01101) 2 2 =(267.32)8 8八进制八进制: 2 6 7 : 2 6 7 . . 3 2 3 2二进制二进制: 010 ,110 , 111 :

13、 010 ,110 , 111 . 011 , 010 011 , 010二进制二进制: 10 ,: 10 ,110110 , , 111111 . . 011011 , 01 , 013)其它进制之间的直接转换法)其它进制之间的直接转换法八进制八进制( (Q Q) )转换二进制转换二进制( (B B) )例如例如: (123.46 ) 8 8=(001,010,011 .100,110 ) 2 2 =(1010011.10011)2 2二进制二进制( (B B) )转换成十六进制转换成十六进制( (H H) )例例:(110110111 .01101) 2 2(10110111.01101)

14、 2 2 =(1B7.68)1616十六进制十六进制: 1 : 1 B B 7 7 . . 6 8 6 8二进制二进制: 0001 ,1011 , 0111 : 0001 ,1011 , 0111 . . 0110 ,10000110 ,1000二进制二进制: 1 ,1011 , 0111 : 1 ,1011 , 0111 . . 0110 ,10110 ,110110111.01101B =1B7.68H十六进制十六进制( (H H) )转换成二进制转换成二进制( (B B) )例例: (7AC.DE ) 1616=(0111,1010,1100.1101,1110 ) 2 2 =(1111

15、0101100 .1101111 )2 2常用信息分类及表示常用信息分类及表示信息数值数据数值数据非数值数据非数值数据-无符号数无符号数-有符号数有符号数浮点数浮点数定点数定点数十进制数十进制数定点整数定点整数定点小数定点小数原码原码补码补码反码反码移码移码正整数正整数字符、汉字等字符、汉字等真值真值:正、负号加某进制数绝对值的形式称为真值。如+3,-5等,即实际值。机器数机器数:符号以及数值都数码化的数称为机器数如 :X=01011 Y=11011即真值在机器中的表示,称为机器数名词解释:真值和机器数名词解释:真值和机器数计算机中常用的数据表示格式有两种计算机中常用的数据表示格式有两种: 定

16、点格式定点格式容许的数值范围有限,但要求的处理硬件比容许的数值范围有限,但要求的处理硬件比 较简单。较简单。 浮点格式浮点格式容许的数值范围很大,但要求的处理硬件比容许的数值范围很大,但要求的处理硬件比 较复杂。较复杂。1.1.定点数的表示方法定点数的表示方法定点表示定点表示:约定机器中所有数据的小数点位置是固定不变的。:约定机器中所有数据的小数点位置是固定不变的。 ( (由于约定在固定的位置,小数点就不再使用记号由于约定在固定的位置,小数点就不再使用记号“.”“.” 来表示。来表示。) ) 通常将数据表示成通常将数据表示成纯小数纯小数或或纯整数。纯整数。数据表示数据表示定点数定点数:小数点位

17、置固定不变的数小数点位置固定不变的数定点整数定点整数:小数点固定在小数点固定在最低位最低位数的数的右面右面(b) 定点小数x7x6x5x4x3x2x1x0(a) 定点整数x6x7x5x4x3x2x1x0数值范围:数值范围: 纯小数纯小数 0 |x| 1 2-n 纯整数纯整数 0 |x| 2n 1 目前计算机中多采用定点纯整数表示,因此将定点数表示目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为的运算简称为整数运算整数运算。定点小数定点小数:小数点固定在小数点固定在最高位最高位数的数的后面后面,即纯小数表示,即纯小数表示 无符号数的编码无符号数的编码正整数正整数数值表示:数值表示:

18、x = x0 x1x2xnxi=0,1, 0inx02n + x12n-1 + + xn-121 + xn数值范围数值范围0 x2n+1-1例如例如:x=010101其数值=24+22+20=21 在数据处理的过程中,如不需要设置符号位在数据处理的过程中,如不需要设置符号位可用全部字长来表示数值大小。如可用全部字长来表示数值大小。如8 8位无符号数的位无符号数的取值范围是取值范围是02550255(2 2)。)。计算机中计算机中定点数定点数表示方法表示方法 原码、补码、反码、移码原码、补码、反码、移码。 若若定点小数定点小数的原码形式为的原码形式为 x0. x1 x2 xn, ,(共共n+1n

19、+1位)则原位)则原码表示的定义是:码表示的定义是:式中式中x原原是机器数,是机器数,x是真值。是真值。1 1、原码表示法、原码表示法 (1)(1)定点小数定点小数 x 1 x = 1+ |x| -(1-2-n) x 00 x 1-2-nx原原 = 数的机器码表示数的机器码表示 若若定点整数定点整数的原码形式为的原码形式为 x0 x1 x2 xn, ,则原码表示的定则原码表示的定义是:义是:(2)(2)定点整数定点整数 x 2n x = 2n + |x| -2n x 00 x 0X0时时 X + M M 自动丢失,自动丢失, x补补= X (Mod M)当当X0X0时时 X + M = M -

20、 | X | M, x补补= X + M (Mod M) 若若定点小数定点小数的补码形式为的补码形式为 x0. x1 x2 xn, ,则补码表示的定则补码表示的定义是:义是:(2)定点小数定点小数 x0 x 1 2 + x = 2 |x| -1 x 0 x补补 = (mod 2)例例: x = +0.1011, 则则 x补补=0.1011x = -0.1011, 则则 x补补=10+x = 10.0000-0.1011= 1.0101 对于对于0,+0补补-0补补0.0000 (mod 2) 注意:注意:0的补码表示只有一种形式。的补码表示只有一种形式。 若若定点整数定点整数的补码形式为的补码

21、形式为 x0 x1 x2 xn, ,则补码表示的定则补码表示的定义是:义是:(3)(3)定点整数定点整数 x 2n+1 + x = 2n+1 |x| -2n x 00 x 2nx补补 =(mod 2n+1)例例: x = +0111, 则则 x补补=00111 x = -0111, 则则 x补补=24+1 |-0111|=100000 0111=11001n+1n+1位位补码补码整数整数: - -2 2n n _ _ 2 2n n -1-1 n+1n+1 位位补码补码小数小数: - - 1 1 _ _ 1- 1- 2 2- -n n若若补码小数补码小数的位数是的位数是8 8位位时时, ,其该数

22、表示的最大值、最小值:其该数表示的最大值、最小值: - 1 _ 1- 2-7 即即 -1 127/128 若若补码整数补码整数的位数是的位数是8 8位位, ,其表示的最大值、最小值其表示的最大值、最小值: : -128 -128 - - 127127补码的表数范围补码的表数范围+0补=0.0000= +0原-0原=1.0000-0补=1.1111+0.0001=0.0000= +0补在补码表示法中1.0000用作比最小的负数还小的一个数:-1补码补码最高一位为符号位,最高一位为符号位,0正正1负负;补码补码零有唯一编码;零有唯一编码;补码补码能很好用于加减运算。能很好用于加减运算。(4)(4)

23、特点特点补码补码满足满足 -x补补+ x补补=0 +7补补=00111最高位参与演算,与其它位一样对待。最高位参与演算,与其它位一样对待。 -7补补=11001扩展方便。扩展方便。5位的位的补码补码扩展为扩展为8位位 00111 0000011111001 11111001算术移位。假设算术移位。假设 x补补= x0. x1 x2 xn, , x/2补补= x0. x0 x1 x2 xn-1最大的优点就是将减法运算转换成加法运算。最大的优点就是将减法运算转换成加法运算。 X+YX+Y补补= = XX补补+YY补补 X - YX - Y补补 = = XX补补+ -+ -YY补补例如例如: X=(

24、11)X=(11)1010=(1011)=(1011)2 2 Y=(5) Y=(5)1010=(0101)=(0101)2 2已知已知字长字长n=5n=5位位 XX补补+ -+ -YY补补=01011+11011=01011+11011=1 100110=00110=(6)00110=00110=(6)10 10 注:注: 最高最高1 1位已经超过字长故应丢掉位已经超过字长故应丢掉X - Y补= 0110补=00110例例 设x=1010,y=-1010,求x补和y补。解:解:根据补码的编码方法,正数的补码与它的二进制表示相同,根据补码的编码方法,正数的补码与它的二进制表示相同,所以加上符号位

25、所以加上符号位0后得后得 x补=01010 x补=00001010负数的补码负数的补码的编码方法的编码方法1)将二进制代码前加)将二进制代码前加0 0 1 0 1 02)再全部按位取反)再全部按位取反 1 0 1 0 13)然后在最低位上加)然后在最低位上加1 1 0 1 1 0 y补=10110正数的补码正数的补码在其二进制代码前加上符号位在其二进制代码前加上符号位0;负数的补码负数的补码是将二进制代码前加是将二进制代码前加0后后,再全部按位取反,然后在再全部按位取反,然后在最低位上加最低位上加1。补码编码的简便方法补码编码的简便方法原码与补码之间的转换已知原码求补码已知原码求补码正数正数

26、XX补补=XX原原负数负数 符号除外,各位取反,末位加符号除外,各位取反,末位加1 1例例:X= -1001001X= -1001001 XX原原= =1 110010011001001 XX补补= =1 10110110+1=0110110+1=1 101101110110111 XX补补= = 2 27+17+1 + +X=100000000-1001001= X=100000000-1001001= 1 101101110110111 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 - 1 0 0 1 0 0 1 - 1 0 0 1 0 0 1 1 0 1 1 0

27、 1 1 1 1 0 1 1 0 1 1 1 更简单的方法是?更简单的方法是?由由 XX补补求求-XX补补运算过程是运算过程是:将:将 XX补补连同符号一起将各位取反,末位再加连同符号一起将各位取反,末位再加1 1。例:例:设字长设字长N=8N=8位位 X= +100 1001 X= +100 1001 X X补补 = 0100 1001= 0100 1001各位取反各位取反 1011 0110 1011 0110末位再加末位再加1 1 1011 011 1011 0111 1 即:即: - -XX补补= 1011 0111= 1011 0111求值方法求值方法x = -x02n + x12n

28、-1 + + xn-12 + xn例如:例如:1000010010000100 的真值为的真值为-128+4=-124-128+4=-124补码与真值之间的转换补码与真值之间的转换补码补码符号位为符号位为“1”“1”-负,余下求补为数值部分负,余下求补为数值部分符号位为符号位为“0”“0”-正,余下为数值部分正,余下为数值部分例例:XX补补 = = 0 0100 1001 100 1001 X= 0X= 0100 1001 100 1001 例:例:XX补补 = =1 1000 0000 000 0000 X=X=- 1000 0000B = 80H =-128- 1000 0000B = 8

29、0H =-128(1)(1)定点小数定义定点小数定义 x x (2 (2 2 2- -n n) + ) + x x -1 -1 x x 0 00 0 x x 1 1 x x 反反 = =一般情况下一般情况下, , 对于正数对于正数 x x = +0.= +0.x x1 1x x2 2 x xn, n, 则有:则有: x x 反反= 0.= 0.x x1 1x x2 2 x xn n 对于负数对于负数 x x = -0.= -0.x x1 1x x2 2 x xn,n,则有则有 x x 反反= 1.= 1.x x1 1x x2 2 x xn n3 3、反码表示法、反码表示法 所谓反码所谓反码,

30、, 就是二进制的各位数码就是二进制的各位数码0 0变为变为1 1,1 1变为变为0 0。例:例: x x = 0.10110 -0.10110 0.0000 = 0.10110 -0.10110 0.0000 x x 反反= =(2)(2)由反码求补码的公式由反码求补码的公式 (2-2 (2-2- -n n) + ) + x x x x 反反 = = 2 + 2 + x x x x 补补 = =由反码与补码的定义由反码与补码的定义得:得: x x 反反 + 2 + 2- -n n x x 补补 = = 即:若要一个即:若要一个负数变补码,其方负数变补码,其方法是符号位置法是符号位置1 1,其余

31、各位其余各位0 0变变1 1,1 1变变0 0,然后在最末,然后在最末位位(2(2- -n n) )上加上加1 1。0.101100.101101.010011.010010.0000 0.0000 1.11111.1111(3)(3)定点整数定义定点整数定义 x (2n+1 1) + x -2n x 00 x 2nx反反 =(4)(4) 结论结论 负数负数反码反码为符号位跟每位数的反,为符号位跟每位数的反,0 0正正1 1负;负; 反码反码零有两个编码,零有两个编码,+0 +0 和和 -0 0 的编码不同;的编码不同; 反码反码难以用于加减运算;难以用于加减运算; 反码反码的表数范围与原码相

32、同。的表数范围与原码相同。4 4、移码表示法、移码表示法 移码通常用于表示浮点数的阶码。移码通常用于表示浮点数的阶码。 假设假设定点整数定点整数移码形式为移码形式为 x0 xx0 x1 1 x2 x2 xnxn时,移码的定义时,移码的定义是:是: 2n + x -2n x 2nx移移 =(1)(1)移码定义移码定义 8 8 位移码表示的机器数为数的真值在数轴上位移码表示的机器数为数的真值在数轴上向右平向右平移移了了 128 128 个位置。个位置。0-128+127负数负数正数正数机器数机器数表示范围:表示范围: 00000000 11111111例例1 1:当正数:当正数 x x = +10

33、101 = +10101 时时, , x x 移移= 2= 25 5 + 10101 = 1,10101 + 10101 = 1,10101 ;例例2 2:当负数:当负数 x x = -10101 = -10101 时时, , x x 移移= 2= 25 5 + + = 2= 25 5 10101 = 0,01011 10101 = 0,01011例例3 3:0 0的移码是唯一的,即:的移码是唯一的,即: +0 +0移移 = 0= 0移移 = 100= 1000000 注意注意: : 移码中符号位移码中符号位 x x0 0表示的规律与原码、表示的规律与原码、 补码、反码相反补码、反码相反“1”

34、“1”正,正,“0”“0”负。负。补码的定义:补码的定义: x 2n+1 + x -2n x 00 x 2nx补补 =移码的定义移码的定义: : 2n + x -2n x 2nx移移 =当当 0 x = 1/2 = 1/2,即尾数域的最,即尾数域的最高有效位应为高有效位应为1,1,称满足这种表示要求的浮点数为称满足这种表示要求的浮点数为规格化表示规格化表示: : 0.1000101010 0.1000101010规格化处理:规格化处理: 既然非既然非 0 0 值浮点数的尾数数值最高位必定为值浮点数的尾数数值最高位必定为 1 1,则,则在保存浮点数到内存前,通过尾数左移在保存浮点数到内存前,通过

35、尾数左移, , 强行把该位去掉强行把该位去掉, , 用同样多的尾数位就能多存一位二进制数,有利于提高数据用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了表示精度,称这种处理方案使用了隐藏位隐藏位技术。技术。 0.1100010 0.1100010 1.100010 1.100010 当然,在取回这样的浮点数到运算器执行运算时,必须先当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。恢复该隐藏位。隐藏位技术隐藏位技术:(4) 规格化浮点数的真值规格化浮点数的真值 x = (-1-1)s (1.) 2127 e = 127一个规格化的一个规格化的32

36、位浮点数位浮点数的真值为:的真值为: S E M31 30 23 22 0 = 2n + x -2n x 2nx移移 = x0 x1 x2 xn3232位浮点数格式:位浮点数格式:移码定义:移码定义: x = ( 1)s(1.)21023一个规格化的一个规格化的64位浮点数位浮点数的真值为:的真值为: 这里这里e是真值是真值,是是机器数机器数例:例:若浮点数若浮点数 x 的二进制存储格式为的二进制存储格式为(41360000)16,求,求 其其32位浮点数的十进制值。位浮点数的十进制值。解解: 0100,0001,0011,0110,0000,0000,0000,0000 数符数符:0 阶码阶

37、码:1000,0010 尾数:尾数:011,0110,0000,0000,0000,0000 指数指数e阶码阶码1271000001001111111 00000011=(3)10 包括隐藏位包括隐藏位1的尾数:的尾数: 1.M1.011 0110 0000 0000 0000 00001.011011于是有于是有 x(1)s1.M2e (1.011011)231011.011(11.375)10例例: 将十进制数将十进制数20.59375转换成转换成32位浮点数的二进制格式来存储位浮点数的二进制格式来存储解解:首先分别将整数和分数部分转换成二进制数:首先分别将整数和分数部分转换成二进制数:

38、20.5937510100.10011然后移动小数点,使其在第然后移动小数点,使其在第1,2位之间位之间 10100.100111.01001001124e4于是得到:于是得到: e = 127S0,E4127131=1000,0011,M010010011最后得到最后得到32位浮点数的二进制存储格式为位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 解解:-0.75 = -3/4 = -0.11-0.75 = -3/4 = -0.112 2 = -1.1= -1.12 2-1-1 =(-1)=(-1)1 1(

39、1 + 0.1000 0000 0000 0000 0000 000)(1 + 0.1000 0000 0000 0000 0000 000)2 2-1-1 =(-1) =(-1)1 1(1 + (1 + 0.1000 0000 0000 0000 0000 0000.1000 0000 0000 0000 0000 000) )2 2126-127126-127s s= =1 1,E= 126E= 12610 10 = 01111110= 011111102 2, M M = = 1000 1000 000 000。1 1 011,1111,0 011,1111,0 100,0000,000

40、0,0000,0000,0000100,0000,0000,0000,0000,0000 B F 4 0 0 0 0 0 HB F 4 0 0 0 0 0 H例例:将十进制数:将十进制数-0.75-0.75表示成单精度的表示成单精度的IEEE 754IEEE 754标准代码标准代码解:解:S=1S=1,E E=129=129,M = 1/4 = 0.25M = 1/4 = 0.25,(-1)(-1)1 1(1+0.25)(1+0.25)2 2129-127129-127= -1= -11.251.252 22 2= -1.25= -1.254 4= -5.0= -5.0例:例:求如下求如下IE

41、EE 754 IEEE 754 单精度浮点数的十进制数值:单精度浮点数的十进制数值:1 1 10000001 10000001 01000000000000000000000 01000000000000000000000解:解:1231231010=1111011=11110112 2= 0.1111011000= 0.11110110002 22 27 7 7 7移移=10000+00111 = 10111=10000+00111 = 10111 0.1111011000 0.1111011000补补=0.1111011000=0.1111011000 123 123浮浮=0 10111

42、1111011000=0 10111 1111011000例:例:对数据对数据1231231010作规格化浮点数的编码,假定作规格化浮点数的编码,假定1 1位符号位,基位符号位,基数为数为2 2,阶码,阶码5 5位,采用移码,尾数位,采用移码,尾数1010位,采用补码。位,采用补码。IEEE754浮点数的范围格式最小值最大值单精度E=1, M=0,1.021-127 = 2-126E=254, f=.1111 ,1.11112254-127= 2127(2-2-23)双精度E=1, M=0,1.021-1023 =2-1022E=2046, f=.1111 ,1.111122046-1023=

43、21023(2-2-52) 浮点数标准(IEEE754) IEEE单精度浮点数编码格式符号位阶码尾数表示0/1255非0NaN0/1255非0NaN02550+INF12550-INF0/11-254f(-1)s1.f2e-1270/10f(非0)(-1)s0.f2e-1260/100+0/-0用四位二进制代码的不同组合来表示一个十进制数码的用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为二编码方法,称为二十进制编码,也称十进制编码,也称BCDBCD码码( (Binary Coded Binary Coded Decimal)Decimal)。 1 1 二二十进制编码原理十进制编

44、码原理1 1、二二十进制的编码都采用压缩的十进制串的方法,即四个二十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。进制位的值来表示一个十进制数码。2 2、各种编码的区别在于选用哪十个状态。选择的原则是:要考各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规则要虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。尽量简单;在特定场合,可能有其它一些要求。3 3、从每个二进制位是否有确定的位权区分,可把二从每个二进制位是否有确定的位权区分,可把二十进制编十进制编码分为码分为有

45、权码有权码和和无权码无权码。十进制数码的编码十进制数码的编码主要有两种形式;主要有两种形式; (l l)字符形式。字符形式。即一个字节存放一个十进制数位或符号即一个字节存放一个十进制数位或符号位,存放的是位,存放的是0 09 9十个数字和正负号的十个数字和正负号的ASCllASCll编码值。编码值。 例如,例如,123123的编码为的编码为2 2B 31 32 33 B 31 32 33 ,占用占用 4 4个连续的字节,这里的个连续的字节,这里的2 2B B,3131,3232和和 33 33是用十六进制形式是用十六进制形式给出的编码,给出的编码,2 2B B表示正号,表示正号,3131,32

46、32和和3333分别表示数字分别表示数字1 1,2 2和和3 3。一。一123123在主存中为在主存中为 2 2D 31 32 33D 31 32 33,其中其中 2 2D D为负号。为负号。 这种表示方式运算起来很不方便,因为它的高这种表示方式运算起来很不方便,因为它的高4 4位不具有位不具有数值的意义,它数值的意义,它主要用在非数值主要用在非数值计算的应用领域。计算的应用领域。 (2 2)压缩的十进制数形式压缩的十进制数形式。用一个字节存放两个十进制数。用一个字节存放两个十进制数位,既节省了存储空间,又便于完成十进制数的算术运算、其位,既节省了存储空间,又便于完成十进制数的算术运算、其值用

47、值用BCDBCD码或码或ASCllASCll码的低码的低4 4位表示。符号位也占半个字节并放位表示。符号位也占半个字节并放在最低数字位之后,其值可从在最低数字位之后,其值可从4 4位二进制码中的位二进制码中的6 6种冗余状态中种冗余状态中选用。选用。 例如,用例如,用C C(l2l2)表示正号;表示正号;D D(1313)表示负号。并规定数字表示负号。并规定数字和符号位个数之和必须为偶数,否则在最高数字之前补一个和符号位个数之和必须为偶数,否则在最高数字之前补一个0 0。例如,例如,123123被表示成被表示成12 312 3C C(2 2个字节),一个字节),一1212被表示成被表示成01

48、201 2D D(2 2个字节)。个字节)。无权码中,用的较多的是余无权码中,用的较多的是余3 3码码( (Excess-3 code)Excess-3 code)和格雷和格雷码码( (Gray code)Gray code),格雷码又称循环码。格雷码又称循环码。1.1.余余3 3码码(1 1)余余3 3码是在码是在84218421码的基础上,把每个代码都加上码的基础上,把每个代码都加上00110011而形而形成的。成的。(2 2)普通普通84218421码的加法器仍能为余码的加法器仍能为余3 3码加法器直接利用。码加法器直接利用。(1 1)格雷码的编码规则是使相邻的两个代码,只有一个二进制格

49、雷码的编码规则是使相邻的两个代码,只有一个二进制位的状态不同,其余三个二进制位必须有相同状态。位的状态不同,其余三个二进制位必须有相同状态。(2 2)优点:从一个编码变到下一个相邻编码时,只有一个位的优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟状态发生变化,有利于保证代码变换的连续性。在模拟/ /数数字转换和产生节拍电位等应用场合特别有用。字转换和产生节拍电位等应用场合特别有用。有关二有关二十进制的部分编码方案列于表中。十进制的部分编码方案列于表中。2.2.格雷码格雷码二二十进制编码的部分编码方案十进制编码的部分编码方案1001100111

50、111111111111111111111111111111110011000100010010001000100110011100110011101110101110111000100011101110111011101000100001110111110111011100110010011001110011001010101000010001100010000011001110101010100110011011101110101010101010101100110001100110010101011011101110001000101110110111011110001000111011

51、101011101110101010001000100110011001000100000100010011001100100010011001100100010001010101011001100111011100010001001100110100010010001000011101110110011001010101010001000001000100110011010101010111011100010001001000100011001101000100000100010010001000110011010001000000000000000000001100110000000000

52、0000000000000000000000000000009 98 87 76 65 51 12 23 34 40 0格雷码格雷码(2)(2)格雷码格雷码(1)(1)余余3 3码码4311431184-2-184-2-15211521124212421无权码无权码有权码有权码十进制十进制符号符号( (BCD)BCD)84218421字符的表示方法字符的表示方法现代计算机处理:现代计算机处理: 数值领域的问题;数值领域的问题; 非数值领域的问题:需引入文字、字母以及某些非数值领域的问题:需引入文字、字母以及某些 专用符号,以便表示文字专用符号,以便表示文字 语言、逻辑语言等信息。语言、逻辑语言

53、等信息。 目前国际上普遍采用的字符系统是七位的目前国际上普遍采用的字符系统是七位的ASCIIASCII码码( (美国国美国国家信息交换标准字符码家信息交换标准字符码) ): 包括包括128128个元素个元素, , 因此二进制编码需因此二进制编码需7 7位位, ,加一位偶校验位加一位偶校验位, ,共共8 8位一个字节。位一个字节。非数值数据非数值数据ASCIIASCII码码“美国标准信息交换代码美国标准信息交换代码”(”(A American merican S Standard tandard C Code ode for for I Information nformation I Inte

54、rchange)nterchange),简称简称ASCIIASCII码。码。7 7位二进制位二进制编码,可表示编码,可表示2 27 7=128=128个字符。个字符。ASCIIASCII码中,编码值码中,编码值0 03131不对应任何可印刷(或称有字不对应任何可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为或对计算机设备的功能控制。编码值为3232的是空格(或间隔)的是空格(或间隔)字符字符SPSP。编码值为编码值为127127的是删除控制的是删除控制DELDEL码。其余的码。其余的949

55、4个字符个字符称为可印刷字符。称为可印刷字符。字符编码字符编码EBCDICEBCDIC码码( (Extended Binary Coded Decimal Extended Binary Coded Decimal Interchange CodeInterchange Code,扩展扩展BCDBCD码码) ),它是,它是8 8位二进制编码,可位二进制编码,可以表示以表示256256个编码状态,但只选用其中一部分。个编码状态,但只选用其中一部分。 主要用在主要用在IBMIBM公司生产的各种机器中。公司生产的各种机器中。EBCDICEBCDIC码码 ASCII 字符表00000101001110

56、01011101110000NULDLESP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENGNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL注:H表示高3位,L表示低4位。HL1 1、涉及多种编码:首先将汉字转换成计算机能接收的编码,称涉及多种编码:首先将汉字转换成计算机能接收的编码,称为为汉字输入码汉

57、字输入码,输入码进入计算机后必须转换成,输入码进入计算机后必须转换成汉字内码汉字内码才才能进行处理。为了显示输出汉字或打印输出汉字,需要经过能进行处理。为了显示输出汉字或打印输出汉字,需要经过一个变换,将汉字内码转换成一个变换,将汉字内码转换成汉字字形码汉字字形码。此外,为了使不。此外,为了使不同的汉字处理系统之间能够交换信息,还应存在汉字交换码。同的汉字处理系统之间能够交换信息,还应存在汉字交换码。2 2、目前存在的汉字编码输入方案可以归纳为四类,即数字编码,目前存在的汉字编码输入方案可以归纳为四类,即数字编码,如区位码;字音编码,如拼音码;字形编码,如五笔字型;如区位码;字音编码,如拼音码;字形编码,如五笔字型;汉字混合编码等。汉字混合编码等。3 3、19811981年我国制定了信息交换用汉字编码字符集基本集年我国制定了信息交换用汉字编码字符集基本

温馨提示

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

评论

0/150

提交评论