当前位置:文档之家› 计算机组成原理第二章 第2讲.数据格式

计算机组成原理第二章 第2讲.数据格式


0
1
最大值0.1111111,无法表示0.1111111001 最近零0.0000001,无法表示0.0000000001 -0.0000001,无法表示-0.000000001 最小值-0.1111111,无法表示-0.111111111
2.1.1数据格式
4、定点表示法的特点



定点表示方法直接、简单,将二进制计数制与 01状态的存储方式较好结合 但定点数表示数的范围受字长限制,表示数的 大小范围有限; 带小数点的实数,需要设置比例因子增大或者 缩小若干倍变成整数或者纯小数保存,操作不 便
所以——引入浮点
2.1.1数据格式
思考:可否将比例因子和有效数字一并保
存在一个连续的存储空间? 可以方便的设置比例因子,将实数化为整 数或者纯小数保存 比例因子的大小决定了小数点所在的实际 位置 所以——浮动的小数点出现了
2.1.1数据格式
5、浮点表示格式:
任意十 进制数N
N = RE
2.1.1数据格式
这样,数据的表示就已经很完善了吧~~ 但还有更能的人粗线了~~ 既然约定尾数不为0时,最高位始终为1,
那也就可以将1省去不写,约定尾数如果写 的是M,真正的尾数是1.M 节约了一个“位” 用1×2-n表示0 也能很好的完成0,+∞,- ∞等的表示。
2.1.1数据格式
6
7 8
0110
0111 1000
1100
1101 1110
1010
1100 1110
1011
1100 1110
9
1001
1111
1111
1111
2.1.1数据格式
但是在IEEE754标准中移码却有特殊的约定: 32位浮点数的移码(8位)计算方法是:
E=e+127 即 e=E-127
2.1.1数据格式
IEEE754标准 32位的浮点数:


S:数的符号位,1位,在最高位,“0”表示正数,“1”表示负数。 M是尾数, 23位,在低位部分,采用纯小数表示 E是阶码,8位,采用移码表示。移码比较大小方便。 规格化: 若不对浮点数的表示作出明确规定,同一个浮点数的表 示就不是惟一的。
事情还不只这么简单 出于各种目的,有时尾数和阶码不固定的
使用机器原码、补码甚至移码、反法。 不同的规则、不同的约定使同样的一组01 序列,有着不同的解读。
2.1.1数据格式
规格化浮点数例题:

某机浮点规格化表示的位数格式如下,阶码和 尾数均为原码,试写出所能表示的最大值、最 小值、最接近零的正负值。
2.1.1数据格式
例1:若浮点数x的754标准存储格式为 (41360000)16,求其浮点数的十进制数值。 (4 1 3 6 0 0 0 0)16 0100 0001 0011 0110 0000 0000 0000 0000 1位 8位 23位 1.011011 × 210000010 – 1111111 =1.011011 × 211 =1011.011 =(11.375)10
规格化的浮点数表示范围如下图所示
2.1.1数据格式
最大值:(1-2-6)
×215 最小值: -(1-2-6) ×215 最小正值: 0.1 × 2-15 最大负值: 0.1 × -2-15
22
2.1.1数据格式
分割线
浮点数规格化 表示理论
具体的 IEEE754标准
2.1.1数据格式
2.1.1数据格式
再做例题:
设浮点数的格式为:阶符1位,阶码4位, 数符1位,尾数6位,均为原码且尾数规格 化,则该浮点数表示的最大数为 _______________。 (1-2-6) ×215 如果在上述格式下要保存十进制数 12.25,相应的01序列应为:_____ 。 0010 0011 0001
P18
2.1.1数据格式---IEEE示数范围 分析
IEEE754浮点数格式说明: 一个规格化的32位浮点数x的真值可表示
为Leabharlann x=(-1)s × (1.M) × 2E-127 e=E-127 E全0或E全1:特殊用途; 一般数:E的范围是1~254; (阶码范围-126~+127)
2.1.1数据格式---IEEE示数范围 分析
非0
非0 任意
全0
全1 非全0或全1
非正规形式NaN
非正规形式NaN 正规形式
2.1.1数据格式---IEEE示数范围 分析 IEEE754的32位浮点数表示的除0外的绝对
值最小的数: s 00000001 0000 0000 0000 0000 0000 000 x=(-1)S×2-126×1.0 IEEE754的32位浮点数表示的除∞外的绝对 值最大的数: s 11111110 1111 1111 1111 1111 1111 111 x=(-1)S×2127×(2-2 -23)
5 1 9
1
阶符
阶码
数符
尾数
2.1.1数据格式
1 5 1 9
阶符 阶码 数符 尾数 最大值:0.111111111 * 211111, 即, (1-2-9) ×231约等于2,143,289,344 最小值:-(1-2-9) ×231 最接近零正值:0.1 ×2-31 接近零负值:-0.1 ×2-31
2.1.1数据格式
2.1.1数据格式
1、定点表示法

规则:
• 所有数据的小数点位置固定不变

小数点固定在什么位置?
• 纯整数 • 纯小数

数值带不带符号?
• 带符号数 • 不带符号数
2.1.1数据格式
2、定点纯整数
x0 x1 x2 x3 … xn-1 xn
符号
量值
n
小数点固定于最后 一位之后,不需专 门存放位置
2.1.1数据格式
压缩的十进制数串形式
压缩的十进制数串形式:一个字节存 放两个十进制的数位。它比前一种形式节 省存储空间,又便于直接完成十进制数的 算术运算,是广泛采用的较为理想的方法。
BCD码(二-十进制编码)
2.1.1数据格式
BCD码:

表示一位十进制数的二进制码的每一位有确定 的权。一般用8421码,其4个二进制码的权从 高到低分别为8、4、2和1。用0000, 0001,…,1001分别表示0,1,…,9,每个 数位内部满足二进制规则,而数位之间满足十 进制规则,故称这种编码为“以二进制编码的 十进制(binary coded decimal,简称BCD)码”。


字符串形式:一个字节存放一个十进制数 位(数码)或者符号位。 压缩的十进制数串即BCD码 其他编码方式

有权码: (8421码、2421码、5211码)
• 无权码: (余三码、格雷码)
• 自定义数据表示
2.1.1数据格式
字符串形式
一个字节存放一个十进制的数位或符号 位。为了指明这样一个数,需要给出该数 在主存中的起始地址和位数(串的长度)。 即ASCII码形式。
• 尾数域最左位(最高有效位)总是1, 故这一位经常不予存储,而认为 隐藏在小数点的左边。 • 采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加 上一个固定的偏移值127(0111 1111),即E=e+127。
27
2.1.1数据格式
一个规格化的32位浮点数x的真值表示为:
x=(-1)S×(1.M)×2E-127 e=E-127 64位的浮点数中符号位1位,阶码域11位, 尾数域52位,指数移码偏移值是1023。 因此规格化的64位浮点数x的真值为: x=(-1)S×(1.M)×2E-1023 e=E-1023
6、IEEE754标准(规定了浮点数的表示格式,运算 规则等)

规则规定了单精度(32)和双精度(64)的基本格式. 规则中,尾数用原码,指数用移码(便于对阶和比较)
24
2.1.1数据格式
什么是移码?

一般用来表示浮点数的阶码 是一个定点有符号整型数据
二进制真值e=e0e1e2……ek-1ek [e]移=2k+e eg. e=+10101 [e]移=+10101+100000=110101 eg. e=-10101 [e]移=-10101+100000=001011
表示数的范围是 0≤|x|≤2 -1
提问:最小数、最大数、最接近0的正数、最接近0的负数呢?(在 数轴上表示)
定点纯整数

主要负责表数范围
定点纯小数

主要负责表数精度
2.1.1数据格式
3、定点纯小数
x0 x1 x2 x3 …
xn-1 xn
量值
符号 小数点固定于符号位之后, 不需专门存放位置
2.1.1数据格式
十进制数 0 1 2 3 4 5 8421码 0000 0001 0010 0011 0100 0101 2421码 0000 0001 0010 0011 0100 1011 5211码 0000 0001 0011 0101 0111 1000 4311码 0000 0001 0011 0100 1000 0111
对于IEEE754标准:


当阶码E为全0且尾数M也为全0时的值,结合 符号位S为0或1,真值x为零,包含正零和负零 之分。 当阶码E为全1且尾数M为全0时,结合符号位S 为0或1,真值为无穷大,也有+∞和-∞之分。
32
2.1.1数据格式---IEEE示数范围 分析
尾数部分 0 0 阶码 全0 全1 形式 零 无穷
法?! 肿么办?@_@
2.1.1数据格式
相关主题