[精品]数据表示方法ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

③反码表示法 定点整数的反码表示 定点整数反码的定义如下所示: [X] 反= X 0≤X<2n-1 [X] 反=(2n-1)+X -2n-1<X≤0 同样,正整数的反码就是其自身,而负整数的反码可 以通过对其绝对值逐位求反来求得。在反码表示法中 ,符号位仍然用0表示正号,1表示负号。其表示的真 值范围与原码相同:-(2n-1-1)≤X≤2n-1-1。数值0 用反码表示亦有+0和-0之分。当n=8时,[+0]反= 00000000,[-0]反=11111111。 定点小数的反码表示 定点小数反码的定义如下所示: [X] 反= X 0≤X<1 [X] 反=(2-2-n+1)+X -1<X≤0
一台计算机中究竟采用定点表示还是浮点表示,要根据计算 机的使用条件来确定。一般在高档微机以上的计算机中同时采用 定点、浮点表示,由使用者进行选择。而单片机中多采用定点表 示。 【例2.1】若浮点数X0的二进制存储格式为(43240000)16,求其 32位浮点数的十进制值。 解: 将16进制数展开后,可得二制数格式为 0 100 0011 0 010 0100 0000 0000 0000 0000 ↑ ↑ ↑↑ ↑ F 阶码(8位) 尾数(23位) 指数z=阶码—127=10000110—01111111=00000111=(7)10。 包括隐藏位 1 的尾数 1 . X=1.010 0100 0000 0000 0000 0000= 1.010010 于是有 X0=(—1)F× 1.X × 2z=+(1.010010)× 27=+10100100 =(187)10。
数量值

如果数x表示的是纯小数,那么小数点位于x0和x1之间。当 x0x1x2…xn各位均为0时,数x的绝对值最小,当各位均为1时, x的绝对值最大,故数的表示范围为 0≤▕x▏≤1—2-n 如果数x表示的是纯整数,那么小数点位于最低位 xn 的 右边,此时数x的表示范围为 0≤▕x▏≤2n-1,目前计算机 中多采用定点纯整数表示,因此将定点数表示的运算简称 为整数运算。 (2) 浮点数的表示方法 采用浮点表示法表示的数据叫做浮点数,采用浮点数 进行运算的机器叫做“浮点机”。浮点数是指小数点位置 可以改变的数,显然浮点数可用来表示带符号的实数。例 如:表示8位字长的二进制浮点数可以写成 ± 0.10110101 × 2±111 ▏←尾 数 →▕ ↑阶码
例如用一个n+1位字来表示一个定点数x,其中一位x0用 来表示数的符号,其余位数代表它的量值。为了将整个n+1 位统一处理起见,符号位x0放在最左位置,并用数值 0和1 分别代表正号和负号,这样,对于任意定点数x=x0x1x2…xn, 在定点机中可表示为如下形式:
x0
x1
x2
……
xn-1
xn
符号

定点小数的反码求解方法类似定点整数的反码求解方法。其表 示的真值的取值范围为 : -(1 - 2 - (n-1))≤X≤(1-2-(n-1))。反码 表示法中,由于 0占有了两个不同的编码,所以, n 位二进制数 可以表示2n-1个反码。
④移码表示法
定点整数的移码表示 [X] 移=2n-1+X 定点小数的移码表示 [X] 移=1+X -1≤X<1 -2n-1≤X<2n-1
64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值 是1023。因此规格化的64位浮点数X的真值为 X=(-1)F × (1.X)× 2E—1O23 z=E-1023 若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。 例如0.5也可以表示成0.05×101,50×10—2等等。为了提高数据的表 示精度,当尾数的值不为0时,其绝对值应≥0.5,即尾数域的最高有效 位应为1,否则要以修改阶码同时左右移小数点的办法,使其变成这一要 求的表示形式,这称为浮点数的规格化表示。 当一个浮点数的尾数为0,不论其阶码为何值,或者当阶码的值遇到比它能 表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零 值,称为机器零。 浮点数所表示的范围远比定点数大的多。假设( 考虑符号位 ) 机器中 的数由8位二进制数表示时:在定点机中这8位全部用来表示有效数字(包 括符号);在浮点机中若阶符阶码占3位,数符尾数占5位。在此情况下, 若只考虑正数值,定点机小数表示的数的范围是0.0000000到 0.1111111,相当于十进制数的0到127,而浮点机所能表示的数的范围 是2-11×0.0001到211×0.1111,相当于十进制数的1/128~7.5。显 然,都用8位,浮点机能表示的数的范围比定点机大得多。
正整数的补码就是其自身,负整数的补码可以通过对 其绝对值部分逐位求反,并在最低位加 1 求得。同样, 在补码表示法中,符号位为0表示正号,为1表示负号。 其表示的真值X的范围为 -2n-1≤X≤2n-1-1。在补码 表示中,0的机器码是惟一的,没有+0和-0之分。 定点小数的补码表示 定点小数补码的定义如下所示: [X] 补= X 0≤X<1 [X] 补=2+X -1≤X<0 定点小数的补码求解方法与定点整数的补码求解方法相 类似。其表示的真值X的范围为-1≤X≤1-2-(n-1)。当n =8时,-1的定点小数补码表示为:10000000,而用定 点整数的补码表示-1,则为11111111。 在补码表示方法中,0的编码是惟一的,所以n位二进 制数可以表示2n个补码。
【例2.2】将十进制数16.59375转换成32位浮点 数的二进制格式来存储。 解:首先分别将整数和分数部分转换成二进 制数:16.59375 =10000 .10011移动小数点, 使其在第1位和第2位之间 10000.10011=1.000010011 × 24 z =4 所以: F=0,E=4+127 =131,X=000010011 则得到的32位浮点数的二进制存储格式为: 0100 0001 1000 0100 1100 0000 0000 0000 = (4184C000)16
(3)定点数据的编码方法 ① 真值与机器码 机器码是数在计算机中的表示形式。对于数值数据而言, 无论以定点形式表示或是以浮点形式表示,都需要通过某 种编码 方法,以计算机所能处理的0和1二进制位来表示 其数值大小。通常一个数值数据的机内表示形式称为其机 器码,而一个机器码所代表的数值称为该机器码的真值。 计算机中只有机器码,不存在数的真值。 假设机器码的宽度为n,最高位为符号位,下面分别介绍 实际应用中常见的4种机器码编码方法:原码、反码、补 码和移码。 ②原码表示法 定点整数原码表示法 定点整数原码的定义如下所示:
[X] 原= X 0≤X<2n-1 [X] 原=2n-1-X -2n-1<X≤0 由定义可以看出,正整数的原码就是其自身,负 整数的原码只需把其绝对值的原码的符号位置为1即 可。( 用0表示正号,用1表示负号)。原码表示方法 的定点整数的取值范围为-(2n-1-)≤X≤2n-1-1。 注意在原码表示法中,零有正零和负零之分。[+0]= 0000…0,[-0]=1000…0。 定点小数的原码表示法 定点小数原码的定义如下所示: [X] 原= X 0≤X<1 [X] 原=1-X -1<X≤0
正的纯小数的原码就是其自身,而负的纯小数的原码 可以通过把其绝对值的原码的符号位置 1 来得到。其取 值范围为-(1-2-(n-1))≤X≤(1-2-(n-1))。综上可以看出 一个数的原码是由符号位加上数值位绝对值组成,符号 位为0代表正数,符号位为1代表负数。由于0有+0和- 0两种表示方法,n位二进制数可以表示2n-1个原码。 用原码实现乘除运算规则较简单,但做加减运算不方 便。原码表示法的一个主要优点在于其真值和机器码表 示之间对应关系很直观,容易转换。 ③补码表示法 定点整数的补码表示 定点整数补码的定义如下所示: [X] 补= X 0≤X<2n-1 [X] 补=2n+X -2n-1≤X<0
任意一个十进制数N可以写成 N = 10Z×X ,同 样,在计算机中一个任意进制数N可以写成 N = Bz × X其中X称为浮点数的尾数,是一个纯小数。z是 比例因子的指数,称为浮点的指数,是一个整数。 比例因子的基数B是一个常数,一般规定只为2,8或 16。在机器中表示一个浮点数时,一是要给出尾数, 用定点小数形式表示。尾数部分给出有效数字的位 数,因而决定了浮点数的表示精度。二是要给出指 数,用整数形式表示,常称为阶码,阶码指明小数 点在数据中的位置,因而决定了浮点数的表示范围。 浮点数也要有符号位。因此一个机器浮点数应当由 阶码和尾数及其符号位组成:
储。本节主要讲述数值数据在计算机里的表示方法。
1.数值数据表示方法 在计算机中表示数时,需要考虑以下几个因素:要表示 的数的类型(小数、整数、实数和复数)、符号如何表示以及 小数点的位置;可能遇到的数值范围;数值精确度;数据存 储和处理所需要的硬件代价。计算机中表示数值符号的方法 是占用一位二进制位,1表示负号、0表示正号。常用的数值 数据表示格式有两种,根据小数点的位置是固定不变还是浮 动变化的分为定点格式和浮点格式。一般来说,定点格式容 许的数值范围有限,但要求的处理硬件比较简单。而浮点格 式容许的数值范围很大,但要求的处理硬件比较复杂。 (1) 定点数的表示方法 所谓定点格式,即约定机器中所有数据的小数点位置是 固定不变的。由于约定在固定的位置,小数点就不再使用记 号“.”来表示。原理上讲,小数点位置固定在哪一位都可 以,但是通常将数据表示成纯小数或纯整数。
第二章
数据表示方法
2-1 数据表示方法和运算器
2-2 逻辑部件
2-3 .1.1计算机中数据的表示方法
当前的计算机所采用的存储器件都是两态器件,所以适合于存放二 进制数据。尽管为了方便起见,也使用其他进制,如十进制、十六进 制,但是在计算机内部数据还是以二进制的形式存放和处理。二进制 只使用了两个不同的数字符号,易于用物理器件来实现:在物理世界 中具有两个稳定状态的物理器件很多,如晶体管的“截止”与“导通 ”、电容的“充电”与“放电”、电压信号的“高”与“低”、脉冲 的“有”与“无”,电磁单元的“正向磁化”与“反向磁化”等等, 只要规定其中一种稳定状态表示“ 1 ”,另一种稳定状态表示“ 0 ”, 就可以用来表示二进制数位了。其次,二进制的运算规则非常简单, 易于用电子器件来实现。数据的类型多种多样,如文件、图、表、树 、阵列、链表、栈、向量、串、实数、整数、布尔数、字符等。计算 机里用到的数据类型主要可分为两类:表示数量的数值数据和非数值 性的符号数据。所有的数据都是以二进制的形式在计算机里处理和存
Z0
Z1 Z2 …… Zn-1 Zn
X0
X1 X2 …… Xn-1 Xn
阶符

阶码

数符

尾数

32位浮点数的标准格式为:
31 30 23 22 0
32位浮点数 F

Z


X

64位浮点数的标准格式为:
63 62 52 51 0
64位浮点数
F

Z


X

不论是32位浮点数还是64位浮点数,规定基数B=2。由于基 数2是固定常数,不必用显示方式来表示它。 32 位的浮点数中, F 是浮点数的符号位,占 1 位,安排在最 高位,F=0表示正数,F=1表示负数。X是尾数,放在低位部 分,占用23位,用小数表示,小数点放在尾数域的最前面。Z 是阶码,占用8位,阶符采用隐含方式,即采用移码方法来表 示正负指数。移码方法对两个指数大小的比较和对阶操作都比 较方便,因为阶码域值大者其指数值也大。采用这种方式时, 将浮点数的指数值 z变成阶码Z时,应将指数 z 加上一个固定的 偏移值127(01111111),即Z=z+127。一个规格化的32位浮点 数X的值可表示为X=(-1)F×(1.X)× 2E-127 其中尾数域所表示的值是1.X。因为规格化的浮点数的尾 数域最左位也即最高有效位总是 1,故这一位经常不予存储, 而认为隐藏在小数点的左边。
相关文档
最新文档