第1章数据在计算机中的表示形式

上传人:公**** 文档编号:569974165 上传时间:2024-08-01 格式:PPT 页数:29 大小:253KB
返回 下载 相关 举报
第1章数据在计算机中的表示形式_第1页
第1页 / 共29页
第1章数据在计算机中的表示形式_第2页
第2页 / 共29页
第1章数据在计算机中的表示形式_第3页
第3页 / 共29页
第1章数据在计算机中的表示形式_第4页
第4页 / 共29页
第1章数据在计算机中的表示形式_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《第1章数据在计算机中的表示形式》由会员分享,可在线阅读,更多相关《第1章数据在计算机中的表示形式(29页珍藏版)》请在金锄头文库上搜索。

1、 第第1 1章章 数据在计算机中的表示数据在计算机中的表示形式形式 本章主要内容本章主要内容(1)机器数与真值的概念机器数与真值的概念(2)常见的机器数表示形式常见的机器数表示形式(3)数的定点表示与浮点表示数的定点表示与浮点表示1.1机器数与真值机器数与真值电子计算机实质上是一个二进制的数字系统,在机器电子计算机实质上是一个二进制的数字系统,在机器内部,二进制数总是存放在由具有两种相反状态的存储内部,二进制数总是存放在由具有两种相反状态的存储元件构成的寄存器或存储单元中,即二进制数码元件构成的寄存器或存储单元中,即二进制数码0和和1是是由存储元件的两种相反状态来表示的。由存储元件的两种相反状

2、态来表示的。另外,对于另外,对于数的符号数的符号(正号(正号“”和负号和负号“”)也只能)也只能用这两种相反的状态来区别。也就是说,只能用用这两种相反的状态来区别。也就是说,只能用0或或1来来表示。表示。例如:例如:n例例1.正二进制数正二进制数N1=+1011001,在计算机中可表示为:在计算机中可表示为:01011001符号位数值位 2.负二进制数负二进制数N1=-1011001,在计算机中可表示为:在计算机中可表示为:11011001符号位数值位定义:一个数(连同符号)在机器中加以数码化后的表示形式,定义:一个数(连同符号)在机器中加以数码化后的表示形式,称为称为机器数机器数;而把机器数

3、所代表的实际值称为机器数的;而把机器数所代表的实际值称为机器数的真值真值。1.2常见的机器数表示形式常见的机器数表示形式1.2.1原码原码n约约定定数数码码序序列列中中的的最最高高位位为为符符号号位位,符符号号位位为为0表表示示该该数数为为正正数数,为为1表表示示该该数数为为负负数数;其其余余有有效效数数值值部部分分则则用用二二进进制制的绝对值表示。的绝对值表示。n例如:例如:真值真值xx原原0.10010.10010.10011.1001 100101001 100111001n定定点点数数又又有有定定点点小小数数和和定定点点整整数数之之分分,下下面面分分别别给给出出定定点点小数和定点整数的

4、原码定义。小数和定点整数的原码定义。若定点小数原码序列为若定点小数原码序列为x0.x1x2 xn,则则 x原原=x 0x1 1-x -1x0式中式中x代表真值,代表真值,x原原为原码表示的机器数。为原码表示的机器数。例如:例如: x0.1011,则则x原原=0.1011 x0.1011,则则x原原=1-(-0.1011)=1+0.1011=1.1011=1+0.1011=1.1011若定点整数原码序列为若定点整数原码序列为x0x1x2 xn ,则,则x原原=x 0x2n 2n-x -2nx0n例如:例如: x1011,则则x原原=01011 x1011,则则x原原=24(1011)=10000

5、+1011=11011n对于原码表示,具有如下特点:对于原码表示,具有如下特点:原码表示中,真值原码表示中,真值0有两种表示形式。有两种表示形式。n以定点小数的原码表示为例:以定点小数的原码表示为例:+0原原=0.000-0原原=1-(-0.000)=1+0.000=1.000在在原原码码表表示示中中,符符号号位位不不是是数数值值的的一一部部分分,它它们们仅仅是是人人为为约约定定(“0为为正正,1为为负负”),所所以以符符号号位位在在运运算算过过程程中中需需要要单单独独处处理理,不不能能当当作作数数值值的的一一部部分分直直接接参参与运算。与运算。n原码表示简单直观,而且容易由其真值求得,相互转

6、原码表示简单直观,而且容易由其真值求得,相互转换也较方便。但计算机在用原码做加减运算时比较麻换也较方便。但计算机在用原码做加减运算时比较麻烦。烦。n比如当两个数相加时,如果是同号,则数值相加,符比如当两个数相加时,如果是同号,则数值相加,符号不变;如果是异号,则数值部分实际上是相减,此号不变;如果是异号,则数值部分实际上是相减,此时必须比较两个数绝对值的大小,才能确定谁减谁,时必须比较两个数绝对值的大小,才能确定谁减谁,并要确定结果的符号。并要确定结果的符号。n这在手工计算时是容易解决的,但在计算机中,为了这在手工计算时是容易解决的,但在计算机中,为了判断同号还是异号,比较绝对值的大小,就要增

7、加机判断同号还是异号,比较绝对值的大小,就要增加机器的硬件设备,并增加机器的运行时间。器的硬件设备,并增加机器的运行时间。1.2.2补码补码定点小数补码定义如下:定点小数补码定义如下: 若定点小数的补码序列为若定点小数的补码序列为X0.X1Xn ,则,则式中,式中,x 代表真值,代表真值, 为补码表示的机器数为补码表示的机器数。 若定点整数的补码序列为若定点整数的补码序列为 ,则,则n例如:例如: x=+0.1011,则则x补补=0.1011x=-0.1011,则则x补补=2+(-0.1011)=10.0000-0.1011=1.0101 对于补码表示,具有如下特点:对于补码表示,具有如下特点

8、:与与原原码码表表示示不不同同,补补码码的的符符号号位位是是数数值值的的一一部部分分,因因此在补码运算中符号位像数值位一样直接参加运算。此在补码运算中符号位像数值位一样直接参加运算。在补码表示中,真值在补码表示中,真值0只有一种表示,即只有一种表示,即000。n由由原原码码转转换换为为补补码码的的规规律律,当当x0时时,原原码码与与补补码码的的表表示形式完全相同;示形式完全相同;n当当x0时时,从从原原码码转转换换为为补补码码的的变变化化规规律律为为:“符符号号位位保保持持不不变变(仍仍为为1),其其他他各各位位求求反反,然然后后末末位位加加1”,简简称称“求反加求反加1”。n例如:例如:x0

9、.1010,则则x原原0.1010,x补补0.1010 x0.1010,则则x原原1.1010,x补补1.0110n容容易易看看出出,当当x0时时,若若把把x补补除除符符号号位位外外“求求反反加加1”,即即可可得得到到x原原。也也就就是是说说,对对一一个个补补码码表表示示的的数数,再再次次求补,可得该数的原码。求补,可得该数的原码。1.2.3反码反码定点小数反码定义如下:定点小数反码定义如下:若定点小数的若定点小数的反反码序列为码序列为X0 . X1Xn ,则则式中,式中,x代表真值代表真值,x反反为补码表示的机器数为补码表示的机器数。若定点整数的补码序列为若定点整数的补码序列为,则,则u反反

10、码码与与原原码码相相比比,两两者者的的符符号号位位一一样样。即即对对于于正正数数,符符号号位位为为0;对对于于负负数数,符符号号位位为为1。在在数数值值部部分分,对对于于正正数数,反反码码的的数数值值部部分分与与原原码码按按位位相相同同;对对于于负负数数,反反码码的数值部分是原码的按位求反。的数值部分是原码的按位求反。u0的反码有两种表示,分别为全的反码有两种表示,分别为全0或者全或者全1。u由原码表示容易得到相应的反码表示。例如:由原码表示容易得到相应的反码表示。例如: x0.1001,x原原0.1001,x反反0.1001 x0.1001,x原原1.1001,x反反1.0110n原码、反码

11、、补码之间的转换原码、反码、补码之间的转换 转换规则如下图所示:转换规则如下图所示:1.2.4移码移码 设定点整数移码形式为设定点整数移码形式为,则,则其中其中 式中式中x为真值,为真值,x移移为其移码。为其移码。u把真值把真值x在数轴上向正方向平移在数轴上向正方向平移单位,移码由此得名。单位,移码由此得名。又叫增码。又叫增码。u移码特点:移码特点: 1)移码是把真值映射到一个正数域,因此移码的大小移码是把真值映射到一个正数域,因此移码的大小可以直观地反映真值的大小。无论是正数还是负数,可以直观地反映真值的大小。无论是正数还是负数,用移码表示后,可以按无符号数比较大小。用移码表示后,可以按无符

12、号数比较大小。2)移码的数值部分与相应的补码各位相同,而符号位移码的数值部分与相应的补码各位相同,而符号位与补码相反。在移码中符号位为与补码相反。在移码中符号位为0表示真值为负数,符表示真值为负数,符号位为号位为1表示真值为正数。表示真值为正数。3)移码为全移码为全0时,它对应的真值最小时,它对应的真值最小。4)真值真值0在移码中的表示是唯一的,即:在移码中的表示是唯一的,即:四种机器数的比较和小结四种机器数的比较和小结原原码码、补补码码、反反码码和和移移码码均均是是计计算算机机能能识识别别的的机机器器数数,机机器器数数与与真真值值不不同同,它它是是一一个个数数(连连同同符符号号)在在计计算算

13、机机中加以数码化后的表示形式。中加以数码化后的表示形式。正正数数的的原原码码、补补码码和和反反码码的的表表示示形形式式相相同同,负负数数的的原原码码、补补码码和和反反码码各各有有不不同同的的定定义义,它它们们的的表表示示形形式式不不同同,相相互之间可依据特定的规则进行转换。互之间可依据特定的规则进行转换。四四种种机机器器数数形形式式的的最最高高位位均均为为符符号号位位。原原码码、补补码码和和反反码码表表示示中中,为为0表表示示正正数数,为为1表表示示负负数数;在在移移码码表表示中,为示中,为0表示负数,为表示负数,为1表示正数。表示正数。原原码码、补补码码和和反反码码既既可可用用来来表表示示浮

14、浮点点数数中中的的尾尾数数,又又可用来表示其阶码;而移码则主要用来表示阶码。可用来表示其阶码;而移码则主要用来表示阶码。0在在补补码码和和移移码码表表示示中中都都是是唯唯一一的的,0在在原原码码和和反反码码表表示中都有两种不同的表示形式。示中都有两种不同的表示形式。1.3数的定点表示与浮点表示数的定点表示与浮点表示n定点表示法定点表示法u定点小数、定点整数定点小数、定点整数n浮点表示法浮点表示法u编码格式编码格式:通常由尾数和阶码组成;其中尾数表示通常由尾数和阶码组成;其中尾数表示有效数字,阶码表示小数点位置。表示如下:有效数字,阶码表示小数点位置。表示如下:其中其中M是尾数,是尾数,R是基数

15、(常取是基数(常取2),),E是阶码,是阶码,S是是符号位。符号位。在计算机中表示形式为:在计算机中表示形式为:其中其中S是符号位,是符号位,E是阶码,是阶码,M是尾数。是尾数。SEMu浮点数的规格化:浮点数的规格化:不丢失数字,提高运算精度。不丢失数字,提高运算精度。1)如果阶码以)如果阶码以2为底,则规格化浮点数的尾数为底,则规格化浮点数的尾数M的的绝对值应满足:绝对值应满足:2)对于原码,)对于原码,M1=1;3)对于补码,对于补码,正数时,正数时,M1=1,负数时,负数时M1=0;即;即“尾数最高位与符号位相反尾数最高位与符号位相反”即为判断浮点数是否为即为判断浮点数是否为规格化数的标

16、志规格化数的标志。例例 将浮点数将浮点数转换为规格化表示。转换为规格化表示。解析:该数据为负数,符号为为解析:该数据为负数,符号为为1,尾数的补码为,尾数的补码为1.1101,由规格化步骤,将尾数左移,由规格化步骤,将尾数左移2位,阶码减位,阶码减2,从,从而使小数点后第一位为而使小数点后第一位为0,规格化后为:,规格化后为:nIEEE754标准:标准:对浮点数的编码格式的标准化,以便于浮点数的编码格式的标准化,以便于实现不同计算机之间的软件移植。实现不同计算机之间的软件移植。其中的其中的浮点编码有浮点编码有32位、位、64位和位和80位三种格式,分别称位三种格式,分别称为为短实数短实数(Sh

17、ortreal)、)、长实数长实数(Longreal)和)和临时实临时实数数(Temporaryreal)。)。短实数:短实数:其中:其中:S为符号位,为符号位,E为阶码,为阶码,M是尾数。是尾数。313023220SE7E0M1M23n在在IEEE754浮点数格式中,符号位浮点数格式中,符号位S仍然用仍然用0表示正表示正数,数,1表示负数。对于表示负数。对于32位格式,阶码为位格式,阶码为8位,正常位,正常数的阶码数的阶码E的取值范围为的取值范围为1254,偏移值为,偏移值为127;n尾数尾数M可以取任意的可以取任意的23位二进制数值,加上隐含的位二进制数值,加上隐含的M0(1)位,可达到)

18、位,可达到24位的运算精度。位的运算精度。n阶码阶码E是一个带偏移的无符号整数,从中减去相应的是一个带偏移的无符号整数,从中减去相应的偏移值即为浮点数的实际阶码值。偏移值即为浮点数的实际阶码值。例例 试试给出十进制数给出十进制数-0.625的的IEEE754单精度数标准代码。单精度数标准代码。解解先将先将0.625转换为二进制形式为转换为二进制形式为-0.101,相应的浮,相应的浮点数表示形式为点数表示形式为,再,再转换为转换为IEEE754标准标准的规格化形式为:的规格化形式为:。再由。再由IEEE754单精度数单精度数值公式转换,可得到值公式转换,可得到E=126=01111110,所以,

19、所以-0.625的的IEEE754单精度标准单精度标准代码为:代码为:S=1;E=01111110,M1M23=01000000000000000000000例例 试给出如下试给出如下IEEE754单精度标准代码的十进制数表单精度标准代码的十进制数表示示S=0,E=10000011,M1M23=10000000000000000000000;解解S=0,E=10000011B=131D,规格化的尾数为,规格化的尾数为1.1B;由由IEEE754单精度标准的数值公式,可得所求十进制单精度标准的数值公式,可得所求十进制为:为:1.4二二-十进制编码十进制编码n用几位二进制码来表示一位十进制数的方法

20、称为十进用几位二进制码来表示一位十进制数的方法称为十进制数的二进制编码,简称制数的二进制编码,简称BCD码码(BinaryCodeDecimal)。n常见的常见的BCD码有码有8421码、余码、余3码、格雷码等。平常说到码、格雷码等。平常说到BCD码,通常指的是码,通常指的是8421码。码。1.有权码和无权码的概念有权码和无权码的概念n有权码:有权码:代码中的各位有固定的权值(如代码中的各位有固定的权值(如8421码)。码)。n无权码:无权码:只依靠某种规则进行编码(如只依靠某种规则进行编码(如“相邻代码只有相邻代码只有一位不同一位不同”、“五中取二五中取二”等),而代码中的各位并无等),而代码中的各位并无权值的大小)。权值的大小)。2.组合组合BCD码和分离码和分离BCD码码组合组合BCD码码(packedBCD):每个字节存放两个十进制每个字节存放两个十进制数字。数字。例如,例如,(9502)10的组合的组合BCD码格式为:码格式为:1001010100000010分离分离BCD码码(unpackedBCD):每个字节存放一个十进每个字节存放一个十进制数字(占低四位,高制数字(占低四位,高4位无关紧要)位无关紧要) 第第1章作业章作业 1.1 1.2 1.3 1.5 1.6

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号