1.定点数表示法
•
定点数表示法通常把小数点固定在数值部分的最高位之前, 或把小数点固定
在数值部分的最后。前者用来表示纯小数, 后者用于表示整数。如图3-3所
示。
•
在计算机中, 图示的小数点
“
.
”
实际上是不表示出来的, 是事先约定好固定
在那里的。对一台计算机来说, 一旦确定了一种小数点的位置, 整个系统就
不再改变。
•
•
小数点的位置可按需浮动, 这就是浮点数。例如:
•
N=rE·M
•
式中, r为浮点数阶码的底, 与尾数的基数相同, 通常r=2。E和M都是带符号的定点数, E叫数N的阶码(Exponent),M为数N的有效数字, 称为尾数(Mantissa)。在大多数计算机中, 尾数为纯小数, 常用原码或补码表示;阶码为纯整数, 常用移码或补码表示。
•
计算机中, 通常用约定的4部分来表示一个浮点数:其中,Ef 、S分别称为阶码E和尾数M的符号位。
•
•
IEEE 754标准中有三种形式的浮点数, 格式见表3-1。
•
短浮点数即单精度浮点数,长浮点数即双精度浮点数, 都采用隐含尾数最高数位的方法, 故增加了一位尾数。临时浮点数又称扩展精度浮点数,无隐含位。
•
短浮点数的移码的偏置值是127(3FH);长浮
点数的偏置值是1023(3FFH)。根据移码
的定义,存储浮点数阶码部分之前,偏置值
要先加到阶码真值上。
注意:隐含的“1”是一位整数(即位权为20),
在浮点格式中表示出来的23位尾数是纯小数,
用原码表示.如(12)10=(1100)2,将它规格化为
1.1× 23,其中整数部分的1将不存储在23
位尾数内.
浮点数举例
将短浮点数C1C90000H转换成十进制数。
•
解:(1)把十六进制数转换成二进制形式,并分离出符号位、阶码和尾
数
•
因为,C1C90000H=
1100
0001
1100
1001
0000
0000
0000
0000B
•
所以, 符号位=1
•
阶码=
10000011
(用黑体字表示)
→
8位
•
尾数=10010010000000000000000
→
23
位
•
(2)计算出阶码的真值(即移码-偏置值)
•
10000011
-1111111=100
•
(3)以规格化二进制数形式写出此数
•
1.
1001001×2
4
•
(4)写成非规格化二进制数形式
•
11000.001
•
(5)转换成十进制数,并加上符号位
•
(11000.001)
2
=(25.125)
10
•
例3.20: 将(100.25)10转换成短浮点数格式。
•
解: (1)把十进制数转换成二进制数
•
(100.25)10 =(1100100.01)2
(2)规格化二进制数
•
1100100.01=1.10010001×2 6
(3)计算出阶码的移码(偏置值+阶码真值)
•
1111111(127H)+110 =10000101
•
注意:短浮点数的阶码偏置值是1111111(127H)。
(4)以短浮点数格式存储该数
•
该数的符号位=0 ,阶码=10000101
•
尾数=10010001000000000000000 23位
•
所以(100.25)10的短浮点数代码为
•
0;10000101;10010001000000000000000
十六进制值是42C88000H