数值数据表示_第1页
数值数据表示_第2页
数值数据表示_第3页
数值数据表示_第4页
数值数据表示_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、 数据是计算机加工和处理的对象,数据是计算机加工和处理的对象,数据的机器层次表示将直接影响到计算数据的机器层次表示将直接影响到计算机的结构和性能。本章主要介绍无符号机的结构和性能。本章主要介绍无符号数和带符号数的表示方法、数的定点与数和带符号数的表示方法、数的定点与浮点表示方法、字符和汉字的编码方法、浮点表示方法、字符和汉字的编码方法、数据校验码等。熟悉和掌握本章的内容,数据校验码等。熟悉和掌握本章的内容,是学习计算机原理的最基本要求。是学习计算机原理的最基本要求。 本章学习内容 2.1 数值数据的表示方法数值数据的表示方法 2.1.1 数制与进位计数法(略)数制与进位计数法(略) 2.1.2

2、 数制转换(略)数制转换(略) 2.1.3 二进制四则运算(略)二进制四则运算(略) 2.1.4,2.1.5 机器数的定点表示和浮点表示机器数的定点表示和浮点表示 2.3 非数值数据的表示非数值数据的表示 2.4 十进制数和数串的表示十进制数和数串的表示 2.5 现代微型计算机中的数据表示举例现代微型计算机中的数据表示举例 2.6 数据校验码数据校验码本章学习要求 了解:了解:无符号数与带符号数,真值和机器数等概念无符号数与带符号数,真值和机器数等概念 掌握:原码、补码、反码表示法以及三种码制与真掌握:原码、补码、反码表示法以及三种码制与真值之间的转换方法值之间的转换方法 掌握:定点数和浮点数

3、的表示范围掌握:定点数和浮点数的表示范围 理解:浮点数阶码的移码理解:浮点数阶码的移码 *了解了解:IEEE754浮点数标准浮点数标准 掌握:常见的字符编码方法(掌握:常见的字符编码方法(ASCII码)、汉字国码)、汉字国标码、区位码、机内码标码、区位码、机内码 *了解:了解:8421码、码、2421码和余码和余3码码 掌握:奇偶校验位及其形成方法掌握:奇偶校验位及其形成方法 *了解:海明校验码和循环冗余校验码了解:海明校验码和循环冗余校验码 2.1 数值数据表示法 在计算机中,采用数字化方式来表在计算机中,采用数字化方式来表示数据,数据有无符号数和带符号数之示数据,数据有无符号数和带符号数之

4、分,其中带符号数根据其编码的不同又分,其中带符号数根据其编码的不同又有原码、补码和反码有原码、补码和反码3种形式。种形式。2.1.1 数制与进位计数法 二进制数:后缀二进制数:后缀B 八进制数:后缀八进制数:后缀Q 十进制数:后缀十进制数:后缀D或省略后缀或省略后缀 十六进制数:后缀十六进制数:后缀HR进制进制,数码数码N=0R-1 1)有)有R个数字符号,逢个数字符号,逢R进一。进一。 2)按权展开)按权展开 例:例: 3)对于)对于R进制数若小数点左移一位,此数缩进制数若小数点左移一位,此数缩小小R倍,右移一位,此数增大倍,右移一位,此数增大R倍。倍。2.1.2 数制转换1 1、R R进制

5、转换成十进制进制转换成十进制“按权展开按权展开”例例1:(10101.01)1:(10101.01)2 2=2=24 4+2+22 2+2+20 0+2+2-2-2=(21.25)=(21.25)1010例例2 :(74.02)2 :(74.02)8 8=7=7* *8 81 1+4+4* *8 80 0+2+2* *8 8-2-2=(60.03125)=(60.03125)10102 2、十进制转换成、十进制转换成R R进制进制1 1)整数部分转换)整数部分转换 “ “除基取余,上右下左除基取余,上右下左”2 2)小数部分转换)小数部分转换 “ “乘基取整,上左下右乘基取整,上左下右”(82

6、5)10=(1101000011)2 余数余数2|2|825825 1 r 1 rn n* *2 2n n+r+rn-1n-1* *2 2n-1n-1.+.+r r0 0* *2 20 0 2| 2|417417 1 1 r rn n* *2 2n-1n-1+r+rn-1n-1* *2 2n-2n-2.+.+r r1 1* *2 20 0 2| 2|208208 0 0 . 2| 2|104104 0 0 2| 2|5252 0 0 2| 2|2626 0 0 2| 2|1313 1 12|2|6 6 0 0 2| 2|3 3 1 1 2| 2|1 1 1 1 0 0(0.63)10=(0.1

7、010)2整数部分整数部分 0.r0.r1 1r r2 2r rn n* *2 20.63*2=1.261 r r1 1+(r+(r2 2* *2 2-2-2.+r.+rn n* *2 2-n-n) )* *2 20.26*2=0.52 0 r r2 2+(r+(r3 3* *2 2-3-3.+r.+rn n* *2 2-n-n) )* *2 20.52*2=1.04 1 r r3 3+(r+(r4 4* *2 2-4-4.+r.+rn n* *2 2-n-n) )* *2 2 0.04*2=0.08 0 r r4 4+(r+(r5 5* *2 2-5-5.+r.+rn n* *2 2-n-n

8、) )* *2 2 近似值近似值=0.10100.63 = 0.5+0.125+.3、2,8,16进制数的相互转换八八-二转换:二转换: 每位数字转换到每位数字转换到相应的相应的2进制数,进制数,1位位8进制进制= 3位位2进制。进制。二二-八转换:八转换: 以小数点为准,以小数点为准,向左(整数)和向右(小数向左(整数)和向右(小数部分)部分)3位一组,不足补位一组,不足补0,用相应的八进制数码表示即用相应的八进制数码表示即可。可。十六进制十六进制-二进制转换:每位二进制转换:每位数字转换到相应的数字转换到相应的2进制数,进制数,1位位16进制进制= 4位位2进制。进制。二进制转换二进制转换

9、-十六进制:以小十六进制:以小数点为准,向左(整数)和数点为准,向左(整数)和向右(小数部分)向右(小数部分)4位一组,位一组,不足补不足补0,用相应的十六进,用相应的十六进制数码表示即可。制数码表示即可。00001001201030114100510161107111八进制 二进制例例1 72CFH转换为转换为2进制进制72CFH=111001011001111B例例2 将二进制将二进制10100.00010B转转换为十六进制换为十六进制10100.00010B =14.10H例例3 将将8进制进制756.77O 转换成转换成16进制。进制。756.77O =111101110.111111

10、B=1EE.FCH00000100012001030011401005010160110701118100091001A1010B1011C1100D1101E1110F1111十六进制 二进制二进制四则运算1、加法 0+0=0,0+1=1+0=1 ,1+1=102、减法 0-0=0, 1-0=1 ,1-1=0,10-1 = 13、乘法 00=0,01=0,10=0, 11=14、除法 11001101=101 0101101101100111011012.2.1 二进制逻辑运算ABA and BA BABA or BA BA+BA xor BA BNot A_A000001010111100

11、110111100无符号数和带符号数 无符号数,就是整个机器字长的全无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),部二进制位均表示数值位(没有符号位),相当于数的绝对值。例如:相当于数的绝对值。例如: N1=01001 表示无符号数表示无符号数9 N2=11001 表示无符号数表示无符号数25 机器字长为机器字长为n+1位的无符号数的表位的无符号数的表示范围是示范围是0(2n+1-1),此时二进制的最高,此时二进制的最高位也是数值位,其权值等于位也是数值位,其权值等于2n。若字长为。若字长为8位,则数的表示范围为位,则数的表示范围为0255。 无符号数和带符号数(续) 带

12、符号数,即正、负数。在日常生带符号数,即正、负数。在日常生活中,我们用活中,我们用“+”、“-”号加绝对值来号加绝对值来表示数值的大小,用这种形式表示的数表示数值的大小,用这种形式表示的数值在计算机技术中称为值在计算机技术中称为“真值真值”。 在计算机中需要把数的符号数码化。在计算机中需要把数的符号数码化。通常,约定二进制数的最高位为符号位,通常,约定二进制数的最高位为符号位,“0”表示正号,表示正号,“1”表示负号。这种在表示负号。这种在计算机中使用的表示数的形式称为计算机中使用的表示数的形式称为机器机器数数。无符号数和带符号数(续) 常见的机器数有原码、反码、补码常见的机器数有原码、反码、

13、补码等等3种不同的表示形式。种不同的表示形式。 带符号数的最高位被用来表示符号带符号数的最高位被用来表示符号位,而不再表示数值位。前例中的位,而不再表示数值位。前例中的N1、N2 在这里的含义变为:在这里的含义变为: N1=01001 表示表示+9。 N2=11001 根据机器数的不同形根据机器数的不同形式表示不同的值,如是原码则表示式表示不同的值,如是原码则表示-9,补码则表示补码则表示-7,反码则表示,反码则表示-6。 2.1.4 定点数表示 在定点表示法中约定:所有数据的在定点表示法中约定:所有数据的小数点位置固定不变小数点位置固定不变。1.定点小数定点小数 小数点的位置固定在最高有效数

14、位小数点的位置固定在最高有效数位之前,符号位之后之前,符号位之后,记作,记作Xs.X1X2Xn,这个数是一个纯小数。定点小数的小数这个数是一个纯小数。定点小数的小数点位置是隐含约定的,小数点并不需要点位置是隐含约定的,小数点并不需要真正地占据一个二进制位。真正地占据一个二进制位。定点小数表示范围图图2-2 定点小数格式定点小数格式 当当Xs=0,X1Xn=1时,时,X为最大正数。为最大正数。 X最大正数最大正数 =1-2-n 当当Xs=1,X1Xn-1=0,Xn=1时,时,X为最小正数。为最小正数。 X最小正数最小正数 =2-nn位数值位数符小数点位置(隐含)XsX1Xn-1Xn1-2X02-

15、1X0nn纯整数定点数:纯小数定点数:定点小数表示范围(续) 当当Xs=1,表示,表示X为负数,此时情况要为负数,此时情况要稍微复杂一些,这是因为在计算机中带符稍微复杂一些,这是因为在计算机中带符号数可用补码表示,也可用原码表示。原号数可用补码表示,也可用原码表示。原码和补码的表示范围有一些差别。码和补码的表示范围有一些差别。 若机器数为若机器数为原码原码表示,当表示,当XsXn均均等于等于1时,时,X为绝对值最大的负数。为绝对值最大的负数。 X绝对值最大负数绝对值最大负数=-(1-2-n) 若机器数为若机器数为补码补码表示,当表示,当Xs=1,X1Xn均等于均等于0时,时,X为绝对值最大的负

16、数。为绝对值最大的负数。 X绝对值最大负数绝对值最大负数= -1 若机器字长有若机器字长有n+1位,则有:位,则有: 原码定点小数表示范围:原码定点小数表示范围: -(1-2-n)(1-2-n) 补码定点小数表示范围:补码定点小数表示范围: -1(1-2-n) 若机器字长有若机器字长有8位,则有:位,则有: 原码定点小数表示范围:原码定点小数表示范围: - 补码定点小数表示范围:补码定点小数表示范围: -1定点小数表示范围(续)128127128127128127nnnn2122112-1由2.定点整数 定点整数即纯整数,定点整数即纯整数,小数点位置隐小数点位置隐含固定在最低有效数位之后含固定

17、在最低有效数位之后,记作,记作XsX1X2Xn。图图2-3 定点整数格式定点整数格式XsX1Xn-1n位数值位数符小数点位置(隐含)Xn若机器字长有若机器字长有n+1位,则有:位,则有:原码定点整数的表示范围:原码定点整数的表示范围: -(2n-1)(2n-1)补码定点整数的表示范围:补码定点整数的表示范围: -2n (2n-1)若机器字长有若机器字长有8位,则有:位,则有:原码定点整数表示范围:原码定点整数表示范围: -127127补码定点整数表示范围:补码定点整数表示范围: -128127定点整数表示范围1 1、浮点数表示 小数点的位置根据需要而浮小数点的位置根据需要而浮动,这就是浮点数动

18、,这就是浮点数。例如:例如:N=MRE=M2E 式中:式中:R为浮点数阶码的底,与尾为浮点数阶码的底,与尾数的基数相同,通常数的基数相同,通常R=2。E和和M都是带都是带符号数,符号数,E叫做阶码,叫做阶码,M叫做尾数。在大叫做尾数。在大多数计算机中,多数计算机中,尾数为纯小数,常用原码尾数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或或补码表示;阶码为纯整数,常用移码或补码表示。补码表示。2.1.5 浮点数表示 浮点数的底是隐含的,在整个机器数中不浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为出现。阶码的符号位为es,阶码的大小反映了阶码的大小反映了在数在数N中小数点的实际

19、位置;尾数的符号位为中小数点的实际位置;尾数的符号位为ms,它是整个浮点数的符号位,表示了该浮点,它是整个浮点数的符号位,表示了该浮点数的正负。数的正负。1.浮点数的表示范围 当当es=0,ms=0,阶码和尾数的数值,阶码和尾数的数值位各位全为位各位全为1(即阶码和尾数都为最大正(即阶码和尾数都为最大正数)时,该浮点数为最大正数:数)时,该浮点数为最大正数: X最大正数最大正数=(1-2-n) 当当es=1,ms=0,尾数的最低位,尾数的最低位mn=1,其余各位为,其余各位为0(即阶码为绝对值(即阶码为绝对值最大的负数,尾数为最小正数)时,该最大的负数,尾数为最小正数)时,该浮点数为最小正数:

20、浮点数为最小正数: X最小正数最小正数=2-n 122kk221.浮点数的表示范围(续) 当当es=0,阶码的数值位为全,阶码的数值位为全1;ms=1,尾数的数值位为全,尾数的数值位为全0(即阶码为最(即阶码为最大正数,尾数为绝对值最大的负数)时,大正数,尾数为绝对值最大的负数)时,该浮点数为绝对值最大负数:该浮点数为绝对值最大负数: X绝对值最大负数绝对值最大负数= -1 122 k2010B 0.0101100B= 2001B 0. 1011000B 若若r=2 则则 1/2 |M| 1为了提高运算的精度,需要充分地利用尾数为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取浮点数规

21、格化形式,即规的有效数位,通常采取浮点数规格化形式,即规定定尾数的最高数位必须是一个有效值尾数的最高数位必须是一个有效值。2.规格化浮点数2.规格化浮点数(续) 在尾数用补码表示时,规格化浮点数在尾数用补码表示时,规格化浮点数应满足应满足尾数最高数位与符号位不同尾数最高数位与符号位不同(ms m1 =1),即当),即当1/2M1时,应有时,应有0.1xxx形式,当形式,当-1M-1/2时,应有时,应有1.0 xxx形式。形式。 需要注意的是当需要注意的是当M=-1/2,对于原码,对于原码来说,是规格化数,而对于补码来说,不来说,是规格化数,而对于补码来说,不是规格化数。是规格化数。2.规格化浮

22、点数(续) 当当es=1,ms=0,尾数的最高位,尾数的最高位m1=1,其余各位为其余各位为0时,该浮点数为规格化的最时,该浮点数为规格化的最小正数:小正数: X规格化的最小正数规格化的最小正数=2-1 规格化的最小正数大于非规格化的规格化的最小正数大于非规格化的最小正数最小正数。k22浮点数的典型值 图图2-6 IEEE 754标准的浮点数格式标准的浮点数格式 2 实用浮点数举例类型类型 数符数符 m ms s 阶码阶码 E E 尾数尾数 m m 总位数总位数 偏偏置值置值 短浮点数短浮点数 1 1 8 8 2323 3232 7FH7FH 127127 长浮点数长浮点数 1 1 1111

23、5252 6464 3FFH3FFH 10231023 临时浮点数临时浮点数 1 1 1515 6464 8080 3FFFH3FFFH 1638316383 Emsm阶码部分,用移码表示尾符尾数数值位尾数部分,用原码表示IEEE754标准的浮点数 以短浮点数为例讨以短浮点数为例讨论浮点代码与其真值之论浮点代码与其真值之间的关系。最高位为数间的关系。最高位为数符位;其后是符位;其后是8位阶码,位阶码,以以2为底,阶码的偏置值为底,阶码的偏置值为为127;其余;其余23位是尾位是尾数。为了使尾数部分能数。为了使尾数部分能表示更多一位的有效值,表示更多一位的有效值,IEEE754采用采用隐含尾数隐

24、含尾数最高数位最高数位1(即这一位(即这一位1不表示出来)的方法,不表示出来)的方法,因此尾数实际上是因此尾数实际上是24位。位。应注意的是,应注意的是,隐含的隐含的1是是一位整数(即位权为一位整数(即位权为20),在浮点格式中表,在浮点格式中表示出来的示出来的23位尾数是纯位尾数是纯小数,小数,并用原码表示并用原码表示。)1023(1023,2). 1 (211154M. 1M)127(127,2). 1 (28124M. 1MeeeeEEM(-1)x52EEM(-1)x231023-Es127-Es位价码,底数位尾符,位),(隐含位尾数双精度位价码,底数位尾符,位)(隐含位尾数单精度IEE

25、E754标准的浮点数(续) 例例13:将:将(100.25)10转换成短浮点数格式。转换成短浮点数格式。 十进制数十进制数二进制数二进制数 (100.25)10=(1100100.01)2 非规格化数非规格化数规格化数规格化数 1100100.01=1.1001000126 计算移码表示的阶码(偏置值阶码真值)计算移码表示的阶码(偏置值阶码真值) 1111111+110=10000101 以短浮点数格式存储该数。以短浮点数格式存储该数。 符号位符号位=0 阶码阶码=10000101 尾数尾数=10010001000000000000000IEEE754标准的浮点数(续) 短浮点数代码为短浮点数

26、代码为 0;100 0010 1;100 1000 1000 0000 0000 0000 表示为十六进制的代码:表示为十六进制的代码:42C88000H。例例14:把短浮点数:把短浮点数C1C90000H转换成为十进制数。转换成为十进制数。 十六进制十六进制二进制形式,并分离出符号位、阶二进制形式,并分离出符号位、阶码和尾数。码和尾数。 C1C90000H= 1;10000011;10010010000000000000000阶码阶码符号位符号位尾数尾数IEEE754标准的浮点数(续) 计算出阶码真值(移码偏置值)计算出阶码真值(移码偏置值) 10000011-1111111=100 以规格

27、化二进制数形式写出此数以规格化二进制数形式写出此数 1.100100124 写成非规格化二进制数形式写成非规格化二进制数形式 11001.001 转换成十进制数,并加上符号位。转换成十进制数,并加上符号位。 (11001.001)2=(25.125)10 所以,该浮点数所以,该浮点数=-25.1252.1.6 机器码表示方法 1、 原码表示法 原码表示法是一种最简单的机器数表示法,用最高位原码表示法是一种最简单的机器数表示法,用最高位表示符号位,符号位为表示符号位,符号位为“0”表示该数为正,符号位为表示该数为正,符号位为“1”表示该数为负,数值部分与真值相同。表示该数为负,数值部分与真值相同

28、。 设二进制纯小数的原码形式为设二进制纯小数的原码形式为Xs.X1X2Xn,字长,字长n+1位,其中位,其中Xs表示符号位。表示符号位。 例例1:X1=0.0110, X1原原=0.0110 X2=-0.0110, X2原原=1.0110 -1x,0 x1x1-0 x1 x,x原2.1.3 原码表示法(续) 设二进制纯整数的原码形式为设二进制纯整数的原码形式为XsX1X2Xn,其中其中Xs表示符号位。表示符号位。 例例2: X1=1101, X1原原=01101 X2=-1101, X2原原=11101 在原码表示中,真值在原码表示中,真值0有两种不同的表示形有两种不同的表示形式:式:+0原原

29、=00000-0原原=10000 -2x0,x2x-20 x2,xxxnnnn原原码形式为位若字长11.1nxxxxnns2.1.4 补码表示法 1.模和同余模和同余 模模是指一个计量器的容量,可用是指一个计量器的容量,可用M表示。表示。例如:一个例如:一个4位的二进制计数器,当计数器从位的二进制计数器,当计数器从0计到计到15之后,再加之后,再加1,计数值又变为,计数值又变为0。这个计。这个计数器的容量数器的容量M=24=16,即模为,即模为16。由此可见,。由此可见,纯小数的模为纯小数的模为2,一个字长为,一个字长为n+1位的纯整数位的纯整数的模为的模为2n+1。 同余同余是指两整数是指两

30、整数A、B除以同一正整数除以同一正整数M,所得余数相同,则称所得余数相同,则称A、B对对M同余,即同余,即A、B在以在以M为模时是相等的,可写作为模时是相等的,可写作 A=B (mod M) 时钟正拨和倒拨 对钟表而言,对钟表而言,M=12。假设:时钟停在。假设:时钟停在8点,而现在正确的时间是点,而现在正确的时间是6点,这时拨准时钟点,这时拨准时钟的方法有两种:正拨和倒拨。的方法有两种:正拨和倒拨。 时针倒着旋转时针倒着旋转2刻度,等于时针正着旋转刻度,等于时针正着旋转10刻度。故有:刻度。故有:-2=10 (mod 12) ,即,即 -2和和10同余。同余。 12-2=10 (mod 12

31、) ;减法用加法做;减法用加法做2.补码表示补码表示1、定点小数补码形式、定点小数补码形式Xs.X1X2Xn2、定点整数补码形式、定点整数补码形式XsXnXn-1X2X1 -1x,0 x2x20 x1 x,x2mod补 2 -2x,0 x2x20 x2 x,xnn1n1nnmod补 补码的符号位表示方法与原码相同,补码的符号位表示方法与原码相同,其数值部分的表示与数的正负有关:对于其数值部分的表示与数的正负有关:对于正数,数值部分与真值形式相同;对于负正数,数值部分与真值形式相同;对于负数,将相反数的真值的数值部分按位取反,数,将相反数的真值的数值部分按位取反,且在最低位上加且在最低位上加1。

32、 若真值为纯小数,它的补码形式为若真值为纯小数,它的补码形式为Xs.X1X2Xn,其中,其中Xs表示符号位。表示符号位。 例例5:X1=0.0110, X1补补=0.0110 X2=-0.0110, X2补补=1.10102.补码表示(续)补码表示(续) 若真值为纯整数,它的补码形式为若真值为纯整数,它的补码形式为XsX1X2Xn,其中,其中Xs表示符号位。表示符号位。 例例6:X1=1101, X1补补=01101 X2=-1101, X2补补=10011 在补码表示中,真值在补码表示中,真值0的表示形式是的表示形式是唯一的:唯一的: +0补补=-0补补=000002.补码表示(续) 当当X

33、为正数时,为正数时,X补补=X原原=X 当当X为负数时,由为负数时,由X原原转换为转换为X补补的方法:的方法: X原原除掉符号位外的各位取反加除掉符号位外的各位取反加“1”。 自低位向高位,尾数的第一个自低位向高位,尾数的第一个“1”及其右部的及其右部的“0”保持不变,左部的各位取保持不变,左部的各位取反,符号位保持不变。反,符号位保持不变。 例例7:X原原 =1.1110011000 X补补 =1.00011010003.由真值、原码转换为补码不变不变不变不变变反变反证明:负数的X原和补码的关系,X=2n+XnX1.X原=2n-x X补=2n+1+x X补+X原=2n+1+2nX补=2n+1

34、+2n -X原X补=2n+1+2n -X原= 2n+1+2n-2n-XnX1 =2n+1-XnX1=2n+2n-1-XnX1+1 =2n+11111.-XnX1+1 按位求反2.1.5 反码表示法 反码表示法与补码表示法有许多类似之处,反码表示法与补码表示法有许多类似之处,对于正数,数值部分与真值形式相同;对于负数,对于正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反。将真值的数值部分按位取反。 若真值为纯小数,它的反码形式为若真值为纯小数,它的反码形式为Xs.X1X2Xn,其中,其中Xs表示符号位。表示符号位。 例例9:X1=0.0110, X1反反=0.0110 X2=-0

35、.0110, X2反反=1.1001 -1x0 x,2-20 x1 x,xn-反2.1.5 反码表示法(续) 若真值为纯整数,它的反码形式为若真值为纯整数,它的反码形式为XsX1X2Xn,其中其中Xs表示符号位。表示符号位。 例例10:X1=1101, X1补补=01101 X2=-1101, X2补补=10010 在反码表示中,真值在反码表示中,真值0也有两种不同的表示形也有两种不同的表示形式:式:+0反反=00000-0反反=11111 -2xx,020 x2 x,xn1nn1反 1.比较比较 对于正数它们都等于真值本身,而对于负数各对于正数它们都等于真值本身,而对于负数各有不同的表示。有

36、不同的表示。 最高位都表示符号位,补码和反码的符号位可最高位都表示符号位,补码和反码的符号位可作为数值位的一部分看待,和数值位一起参加作为数值位的一部分看待,和数值位一起参加运算;运算;但原码的符号位不允许和数值位同等看但原码的符号位不允许和数值位同等看待,必须分开进行处理。待,必须分开进行处理。 对于真值对于真值0,原码和反码各有两种不同的表示,原码和反码各有两种不同的表示形式,而补码只有唯一的一种表示形式。形式,而补码只有唯一的一种表示形式。 原码、反码表示的正、负数范围相对零来说是原码、反码表示的正、负数范围相对零来说是对称的;但补码负数表示范围较正数表示范围对称的;但补码负数表示范围较

37、正数表示范围宽,能多表示一个最负的数(绝对值最大的负宽,能多表示一个最负的数(绝对值最大的负数),其值等于数),其值等于-2n(纯整数)或(纯整数)或-1(纯小数)。(纯小数)。2.1.6 三种码制的比较与转换真值与3种机器数间的对照真值真值 X X 真值真值 X X 十进制十进制 二进制二进制 XX 原原XX 反反XX 补补 十进制十进制 二进制二进制 XX 原原 XX 反反 XX 补补 +0+0 +1+1 +2+2 +3+3 +4+4 +5+5 +6+6 +7+7 +8+8 +000+000 +001+001 +010+010 +011+011 +100+100 +101+101 +110

38、+110 +111+111 - - 00000000 00010001 00100010 00110011 01000100 01010101 01100110 01110111 - - - -0 0 - -1 1 - -2 2 - -3 3 - -4 4 - -5 5 - -6 6 - -7 7 - -8 8 - -000000 - -001001 - -010010 - -011011 - -100100 - -101101 - -110110 - -111111 - -10001000 10001000 10011001 10101010 10111011 11001100 110111

39、01 11101110 11111111 - - 11111111 1111110 0 11110101 1101100 0 1 1011011 1011010 0 10100101 1001000 0 - - 00000000 1111111 1 11111010 1101101 1 1 11 10000 1011011 1 10101 10 0 1001001 1 10001000 2.转换 如果已知机器的字长,则机器数的位数应如果已知机器的字长,则机器数的位数应补够相应的位。例如,设机器字长为补够相应的位。例如,设机器字长为8位,则:位,则: X1=1011 X2=-1011 X1原原=

40、00001011 X2原原=10001011 X1补补=00001011 X2补补=11110101 X1反反=00001011 X2反反=11110100 X3=0.1011 X4=-0.1011 X3原原=0.1011000 X4原原=1.1011000 X3补补=0.1011000 X4补补=1.0101000 X3反反=0.1011000 X4反反=1.01001112.2 机器数的定点表示与浮点表示 计算机在进行算术运算时,需要指出计算机在进行算术运算时,需要指出小数点的位置。根据小数点的位置是否固定小数点的位置。根据小数点的位置是否固定,在计算机中有两种数据格式:定点表示和,在计算机中有两种数据格式:定点表示和浮点表示。浮点表示。2.2.3 移码表示法 移码就是在真值移码就是在真值X上加一个常数(偏置值),上加一个常数(偏置值),相当于相当于X在数轴上向正方向平移了一段距离,这就在数轴上向正方向平移了一段距离,这就是是“移码移码”一词的来由。

温馨提示

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

最新文档

评论

0/150

提交评论