定点数和浮点数
2020-11-13 本文已影响0人
Wovw
在计算机中的数据有定点数和浮点数两种表示方式。
1.定点数
小数点固定在某个位置上的数据
2.浮点数
小数点位置可浮动的数据,通常以下式表示:
浮点数Ms是尾数的符号位,设置在最高位上。
E为阶码,有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表示正阶或负阶。
M为尾数,有m位,由Ms和M组成一个定点小数。Ms=0表示正号,Ms=1表示负号。
为了保证数据精度,尾数通常用规格化表示。对于非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。
根据IEEE754国际标准,常用的浮点数有两种格式:
(1)单精度浮点数(32位),阶码8位,尾数24位(内含一个符号位)。
(2)双精度浮点数(64位),阶码11位,尾数53位(内含一个符号位)。
3.浮点数的加减法运算
(1)“对阶”操作
(2)尾数的加减运算
(3)规格化操作
(4)舍入
(5)检查阶码是否溢出
4.移码:
定义:将补码的符号位取反
例:X = +1011 Y = -1011
[X]补=01011 [X]移=11011
[Y]补=10101 [Y]移=00101
移码的特点:
(1)最高位为符号位,1正0负
(2)移码(阶码)只执行加减法运算,且需要对得到的结果加以修正,修正量为2ⁿ,即要对结果的符号位取反,得到[X]移。
设X = +1010,Y = +0011
则[X]移=11010,[Y]移=10011
[X]移+[Y]移=11010+10011=101101
加2ⁿ后得[X+Y]移(2ⁿ=10000):
[X+Y]移=01101+10000=11101