数据与文字的表示方法.ppt
《数据与文字的表示方法.ppt》由会员分享,可在线阅读,更多相关《数据与文字的表示方法.ppt(216页珍藏版)》请在三一办公上搜索。
1、21数据与文字的表示方法,2.1.1 数据格式 选择计算机数的表示方式时,需考虑以下几个因素:(1)要表示的数的类型(小数,整数,实数和复数).(2)可能遇到的数值范围;(3)数值精确度;(4)数据存储和处理所需要的硬件代价。,计算机中常用的数据表示格式:两种 定点格式,浮点格式。定点格式:数值范围有限,处理硬件比较简单。浮点格式:数值范围很大,处理硬件比较复杂。1.定点数的表示方法 定点格式:约定机器中所有数据的小数点位置固定不变的。小数点就不再使用记号“”来表示。小数点位置固定在哪一位都可以,通常将数据表示成纯小数或纯整数。,例如:,用一个n+1位字来表示一个定点数X,其中一位x0用来表示
2、数的符号,其余位数代表它的量值。符号位 x0 放在最左位置,数值0和1分别代表正号和负号。对于任意定点数 x=x0 x1x2xn-1xn,在定点机中可表示为如下形式:x0.x 1 x2 xn-1 xn.符号 量值(尾数),如果数表示的是纯小数,小数点位于x0和x1之间。当x 1 x2 xn各位均为时,数的绝对值最小,min;当各位均为时,的绝对值最大,max=0.111.111故数的表示范围:0|x|1-n=0.111111 纯小数(2.1)如数C表示的是纯整数,小数点位于最低位CN 的右边此时数X的表示范围:0|x|-1=111111 纯整数(2.2)目前计算机中多采用定点纯整数表示,将定点
3、表示的运算简称为整数运算。,2浮点数的表示方法 电子的质量(910-28克)和太阳的质量(21033克)相差甚远,在定点计算机中无法直接来表示这个数值范围。要使它们送入定点计算机进行某种运算,必须对它们分别取不同的比例因子,使其数值部分绝对值小于是1.910-28=0.910-27 21033=0.21034 这里的比例因子10-27 和1034要分别存放在机器.某个存单元中,便于以后对计算结果按这个比例增大。要占用一定的存储空间和运算时间。,计算机中还可以这样来表示数据:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。这种把数的范围和精度分别表示的方法,相当于数的小数点位置
4、随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。任意一个十进制数N 写成:N=10EM(23),在计算机中一个任意进制数N可以写成:N=Rem=R士e*士m(24)m 称为浮点数的尾数,是一个纯小数。e是比例因子的指数,称为浮点的指数.是一个整数。比例因子的基数R对二进计数制的机器是一个常数,一般规定 R为2,8和16。在机器中表示一个浮点数时:一是要给出尾数,用定点小数形式表示。尾数部分给出有效数字,决定了浮点数的表示精度。二是要给出指数,用整数形式表示,常称为阶码.阶码指明小数点在数据中的位置,决定了浮点数的表示范围。浮点数也要有符号位。,E 12 M 阶符 阶码 数符 尾
5、数,一个机器浮点数应当由阶码和尾数及其符号位组成:,为便于软件移植,按照IEEE754的标准,32位浮点数的标准格式为:31 30 23 22 0 S E M 32位浮点数,64位标准格式浮点数:63 62 52 51 0 S E M32位浮点数和64位浮点数,规定基数R=2 基数2是固定常数,不必用显示方式来表示它,32位的浮点数中:S是浮点数的符号位,占1位,安排在最高位,S=0表示正数,S=1表示负数。M是尾数,放在低位部分,占用23位,用小数表示,小数点放在尾数域的最前面。E 是阶码,占用8位,阶符采用隐含方式,采用移码方法来表示正负指数。移码方法对两个指数大小的比较和对阶操作都比较方
6、便,阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e变成阶码E 时,应将指数 e加上一个固定的偏移值127(01111111),E=e+127。,一个规格化的32位浮点数X的真值可表示为:x=(1)S(1M)2E-127 e=E127(2.5)尾数域表示的值是1.M 规格化的浮点数的尾数域最左位(最高有效位)总是1,故这位经常不存储,认为隐藏在小数点的左边.例:8位二进制补码与移码之间的关系为:X移=128+X补 0.1M 2E=(1M)2-1 2E+128=(1M)2E+128-1=(1M)2E+127,对于尾数,当取绝对值且已经规格化后,其形式一定为0.1M2M3M4Mn,显
7、然仅存储M2M3M4Mn可以节约存储位。0.1M2M3M4Mn=1.M2M3M4Mn 2 1,阶码真值和移码关系的说明(对于8位阶码)由补码和真值的关系知:E移码=E补码+27=E补码+128,(-1)s(1.M)2 e+128 2-1=(-1)s(1.M)2 e+127,对754-32标准尾数的说明,64位浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023 规格化的64位浮点数X的真值为:x=(1)S(1M)2E-1023 e=E1023(2.6),若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。例如:05可以表示成005101,5010-2等。当尾数的值不
8、为0时,其绝对值应05尾数域的最高有效位应为1要修改阶码同时左右移小数点的办法使其变成这一要求的表示形式,这称为浮点数的规格化表示。,当一个浮点数的尾数为0,不论其阶码为何值,或者当阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零。,假设:机器中的数由8位二进制数表示(包括符号位)定点机中这8位全部用来表示有效数字(包括符号)在浮点机中若阶符阶码占3位,数符尾数占5位。只考虑正数值,定点机小数表示的数的范围:0.00000000到0.11111111 相当于十进制数的0到127/128 浮点数所能表示的数的范围:2-1100001到21101111
9、 相当于十进制数的 1/128 到 75 显然,都用8位,浮点机能表示的数的范围比定点机大得多。,一台计算机中采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。单片机中多采用定点表示。,【例1】若浮点数X 的二进制存储格式为(41360000)16 求其32位浮点数的十进制值。解:将16进制数展开后,得二制数格式为:0100 0001 0011 0110 0000 0000 0000 0000 S 阶码(8位)M尾数(23位)指数e=阶码127=1000001001111111=00000011=(3)10包括隐藏位1
10、的尾数1M=1011 0110 0000 0000 0000 0000=1011011于是有 x=(1)S1M2 e=+(1011011)2 3=+1011011=(11375)10,【例2】将十进制数20.59375转换成32位浮点数的二进制格式来存储。解:首先分别将整数和分数部分转换成二进制数:2059375=1010010011然后移动小数点,使其在第1,2位之间 1010010011=101001001124 e=4于是:S=0,E=4+127=131,M=010010011得到32位浮点数的二进制存储格式为:0100 0001 1010 0100 1100 0000 0000 000
11、0=(41A4 C000)16,3十进制数串的表示方法 大多数通用性较强的计算机都能直接处理十进制形式表示的数据。十进制数串在计算机内有两种表示形式:(1)字符串形式:一个字节存放一个十进制的数位或符号位.(2)压缩的十进制数串形式:一个字节存放两个十进制的数位。每个数位占半个字节(4个二进制位),用压缩的十进制数串表示一个数,要占用主存连续的多个字节。其值可用二-十编码(BCD码)或数字符的ASCII码的低 4位表示。符号位占半个字节并放在最低数字位之后,用12(C)表示正号,用13(D)表示负号规定数位加符号位之和必须为偶数当和不为偶数时,应在最高数字位之前补一个0。,例如:,1 2 3
12、C 0001 0010 0011 1100 0 1 2 D 0000 0001 0010 1101,(123),(12),每一个小框内给出一个数值位或符号位编码值(用十六进制形式给出).符号位在数字位之后。要指明一个压缩的十进制数串,要给出它在主存中的首地址和数字位个数.(不含符号位),又称位长,位长为0的数其值为0。十进制数串表示法的优点:位长可变,许多机器中规定该长度从 0到31,有的甚至更长。,4自定义数据表示 在传统的计算机体系结构中,用指令本身来说明操作数据的类型。定点法表示操作数是纯小数或纯整数;浮点加法表示操作数是浮点数;十进制加法表示操作数是BCD 数。由于操作数据类型不同,要
13、设三种不同的指令(操作码)来加以区分。自定义数据表示:用数据本身来说明数据类型。表示形式:有两种 标志符数据表示和描述符数据表示。,要求对每一个数据都有附加标志符,格式如下:标志符 数 据标志符指明后面的数据所具有的类型,如整数,浮点数、BCD数、字符串等。标志符数据表示的优点:能简化指令系统,便于程序调试和查错.标志符数据表示的缺点:数据区域占用的存储空间增加,指令执行的速度减慢。,标志符数据表示:,描述符数据表示:主要用来描述多维结构的数据类型.如向量、矩阵、记录等。格式为:描述符标志位 特征标记 数据块长度 数据块起始地址 描述符标志位部分:指明这是一个数据描述符;特征标记部分:指明数据
14、的各种特征;长度部分:指明数组中元素个数;起始地址部分:指明数据块的首地址。,标志符与描述符表示的区别:3点(1)标志符与每个数据相连,二者合起来存放在一个存储单元,而描述符要和数据分开存放。(2)描述符表示中,先访问描述符,后访问数据,至少增加一次访存。(3)描述符是程序的一部分,而不是数据的一部分。,2.1.2数的机器码表示,1.问题?计算机中对数据进行运算操作时,符号位如何表示呢?是否也同数值位一道参加运算操作呢?如参加,会给运算操作带来什么影响呢?2.解决:把符号位和数值一起编码来表示相应的数。如原码、补码、反码、移码等。为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为
15、真值,后者称为机器数或机器码。,1 原码表示法 定点小数的原码形式为 xox1x2 xn,原码表示的定义:x 1x0 x原=(2.7)1 x=1+|x|0 x-1式中x原 机器数,x 是真值。例如,x=+01001,x原=0.1001 x=-01001,x原=1.1001,一情况情况下,对于正数x=+0 x1x2 xn,有x原=0 x1x2 xn对于负数x=-0 x1x2xn,有x原=1x1x2 xn对于0,原码机器中往往有“+0”、“-0”之分有两种形式:+0 原=0000 0-0 原=1000 0,定点整数的原码形式为 xox1x2 xn,原码表示的定义:x 2nx0 x原=(2.8)2n
16、 x=2n+|x|0 x-2n 采用原码表示法简单易懂.最大缺点:运算复杂。因为当两数相加时,如果是同号则数值相加;如果是异号则要进行减法。,在进行减法时,要比较绝对 值的大小,然后大数减去小数,最后要给结果选择恰当的符号。为了解决这些矛盾,人们找到了补码表示法。,2补码表示法,以钟表对时为例说明补码的概念。假设:现在的标准时间为4点正,有一只表已经7点了,为了校准时间,可以采用两种方法:一是将时针退7-4=3格一是将时针向前拨12-3=9格 这两种方法都能对准到4点,减3和加9是等价的。就是说 9是(-3)对12的补码,用数学公式表示为 3=+9(mod12)mod12的意思就是12为模数,
17、这个“模”表示被丢掉的数值.上式在数学上称为同余式。,上例中73和7+9(MOD12)等价,原因就是表指针超过12时,将12自动丢掉,最后得到1612=4。同样,以12为模时-4=+8(mod12)-5=+7(mod12)从这里得到一个启示,就是负数用补码表示时,可以把减法转化为加法。这样,在计算机中实现起来就比较方便。,在定点小数机器中数最大不超过1 也就是负的小数对“1”的补码是等价的。实际上,负数的符号位还有一个“1”,要把它看成数的一部分,所以要对2求补码,也就是以 2 为模数。例如:X=-1 x补=?(mod 2)x补=-1补=2+x=2+(-1)=-1.00.00,定点小数补码形式
18、 xox1x2 xn,补码表示的定义为:x 1x0(mod 2)x补=2+x=2-|x|0 x-1(2.9)式中x补为机器数,x为真值。,例,x=+0.1011,x补=0.1011x=-0.1011,x补=10+X=10.0000 0.1011=1.0101一般情况下,对于正数 x=+xox1x2 xn x补=xox1x2 xn对于负数 x=-0 x1x2xn,x补=10.000-0 x1x2 xn(mod 2)对于0,在补码情况下:+0补=-0 补=0.0000(mod 2)注意:0的补码表示只有一种形式。,对定点整数,补码表示的定义:,x 2nx0(mod 2n+1)x补=2n+1+x=2
19、n+1-|x|0 x-2n(2.10),设x补=x0.x1x2xn,求证,x/2补=x0.x0 x1x2xn 证明:因为X=-x0+X i 2-i所以 X/2=-x0/2+1/2*X i 2-i=-x0+x0/2+1/2*X i 2-i=-x0+X i 2-(i+1)由于 X/2=-x0+X i 2-(i+1)根据补码与真值的关系便有:x/2补=x0.x0 x1x2xn 由此可见,如果要得到2-i X补,只要将x补连同符号位右移i位即可,结论:采用补码表示法进行减法运算比原码方便多了。不论数是正不是负,机器总是做加法,减法运算可变成加法运算。但根据补码定义,求负数的补码要用2减去|X|。为了用
20、加法代替减法,结果不得在求补码时作一次减法,这显然是不方便的。下面介绍的反码表示 可以解决负数的求补问题。,3.反码表示法,反码:就是二进制数的各位数码 0变为1,1变为0.若xi=1,反码xi=0;若xi=0,反码xi=1。数值上面的一横表示反码的意思。在计算机中用触发器寄存数码,若触发器Q端输出表示原码,则 Q 端输出就是反码。,(1)对于正数 x=+0.x1x2 xn x反=0.x1x2 xn(2)对于负数 x=-0.x1x2 xn x反=1.x1x2 xn(3)对于零,反码有“0”和“0”之分 0反0.00 0 0反1.11 1 若x的反码形式为x0.x1x2 xn,其中x0为符号位,
21、反码表示的定义:,x 0 x1 x反=(22n)-x 1x0,比较求负数的反码和补码的公式:x反=(22n)-x x补=2-x x补=x反+2n 这个公式说明,求一个负数的补码其方法是符号位置1,其余各位0变1或1变0,然后在最末位(2n位)上加1。,当1x0:,x反=(22n)-x 公式推导 假设 x=-0.x1x2 xn x=0.x1x2 xn x反=1.x1x2 xn 构造:x+x反=0.x1x2 xn+1.x1x2 xn=1.111.11=2-2-n 当1.111.11+0.00001=2 1.111.11=2-0.00001=2-2-n所以:x反=(22n)-x证毕,从上面的讨论发现
22、:(1)正数的原码、补码和反码具有相同的形式.即:x原=x反=x补=0.x1x2 xn(2)负数的原码,将符号位置1,数值部分不变得到;(3)负数的补码和反码符号位均为1。反码的数值部分通过将原码的数值各位取反获得,补码的数值部分只需在反码的末位加1便可得到。,例.以定点整数为例,用数轴形式说明原码,反码,补码表示范围和可能的数码组合情况 解:原码,反码,补码表示于下图。与原码,反码不同,在补码表示中“0”只有 一种形式,用补码表示负数时的范围可到2n。,1001,11 1,00 0,00 01,01 1,(2n1),1,0,1,(2n1),2n,10 0,原码,反码,补码,A,B,AB,A,
23、B,AB,典型门电路的逻辑符号和时间延迟(1),B,典型门电路的逻辑符号和时间延迟(2),A,B,A B,A,AB,A,D,4.移码表示法,移码通常用于表示浮点数的阶码.假定:定点整数得移码形式为xox1x2 xn移码的定义:x移2nx,2n x-2n式中x移为机器数,x为真值。若阶码数值部分为 5 位,以 x 表示真值,则 x移25x,25 x-25例如,当正数x=10101时,x移1,10101 当负数x=10101时,x移 25x 2510101 0,01011.,例.将十进制真值x(127,1,0,1,127)列表表示成二进制数及原码,反码,补码,移码值。解:二进制真值x及其诸码值列于
24、下表,其中0在X原,X反中有两种表示,由表中的数据可知,补码值和移码值差别仅在于符号位不同。,例.设机器字长16位,定点表示,尾数15位,符号一位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是 多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?解:(1)定点原码整数表示 最大正数值(2151)10(32767)10 最小负数值(2151)10(32767)10,0,111 111 111 111 111 1,1,111 111 111 111 111,(2)定点原码小数表示最大正数值(2151)10(0.11111)最小负数值(2151)10(0.111 11),15
25、个1,机器数的移位与舍入,一.数据的移位 移位可分为两大类:逻辑移位和算数移位。在逻辑移位中,只有数码位置的变化,无数量位置的变化。在算数移位中,应保持数据的符号位不变。1.以原码表示的正数移位规则(1)左移:符号位不变,末位补0。,符号位,1,15,补0,左移,(2)右移:符号位不变,最高有效位补0,最末位右移后舍去。,2.以原码表示的正数移位规则(1)左移:符号位不变,最末位补0。,(2)右移:符号位不变,最高有效位补1。,符号位,1,15,右移,舍去,0,3.反码表示的移位规则 根据反码和补码的关系可知,反码表示的负数,左移时末位应补1,其它移位规则与补码相同。移位后空位是补0还是补1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 文字 表示 方法
链接地址:https://www.31ppt.com/p-6296170.html