浮点数
IEEE754
编码
根据IEEE754对于浮点数的定义,单精度浮点数的真值一般表示为:
N=(−1)s∗2e−127∗1.f
其中数字符 s 为1位, 阶码编码 e 为8位(含1位阶符),尾数编码 f 为23位。
浮点数的加减运算
一般有下列五步
graph LR
A[对阶]-->B[尾数加减]-->C[规格化]-->D[舍入]-->E[判溢出]
计算示例
已知X和Y都是IEEE754标准格式的浮点数。求X+Y和X-Y,结果仍用IEEE754表示。
X=0,10010010,00110110100000000000000
Y=0,10001110,10000100000000000000000
对阶
[X阶数−Y阶数]补=[X阶数]移−[Y阶数]移
由此可得到X的阶数比Y的阶数大4。
尾数加减
对阶后X和Y的尾数分别为
X尾数=1.00110110100000000000000
Y尾数=0.00011000010000000000000
由此可以得出
X+Y=0,10010010,00110110100000000000000
X−Y=0,10001110,10000100000000000000000
浮点数的上溢和下溢处理
浮点数有上溢区和下溢区之分,当浮点数的阶码大于最大阶码时,称为==上溢==,此时机器停止运算,进行溢出中断处理;如果阶码小于最小的阶码时,称为==下溢==, 此时溢出的数值非常小,直接强制将浮点数的尾数置为0,可以继续执行运算。