表现形式: N=位数x基数^指数
运算过程:一般先对阶,将阶数调整为一致,注意是将小的阶数调整为与大的阶数一样,然后再进行尾数计算,最终将结果格式化
即 对阶 > 尾数计算 > 结果格式化
浮点数特点:
1.一般尾数用补码,阶码用移码
2.阶码位数决定数的范围,位数越多范围越大
3.尾数位数决定数的有效精度,位数越多精度越高
4.对阶时,小数向大数看齐
5.对阶是通过较小数的尾数右移实现的
例题:
求两个浮点数x=0.110101x2^(-010), y=-0.101010x2^(-001)的和
分析:
(1)对于x:2的指数为-010为负数,所以阶数可以表示为1010,尾数用双符号表示,x的尾数大于0,所以表示为00.110101,黄色的00就表示正数,x的原码表示为101000110101
对于y:2的指数为-001为负数,所以阶数可以表示为1001,尾数用双符号表示,y的尾数小于0,所以表示为11.101010,黄色的11就表示负数, y的原码表示为100111101010
将x与y的原码分别转换成补码
阶符 | 阶码 | 数符 | 尾数 | |
x | 1 | 110 | 00 | 110101 |
y | 1 | 111 | 11 | 010110 |
(2)对阶
用x的阶码减去y的阶码
[x阶]-[y阶]=1110-1111=1111, 即x的阶数小于y的阶数,所以将x右移,阶码加1
此时的x=1111;00.011010(1)
(3) 尾数求和
[x尾数]+[y尾数]=00.011010(1)+11.010110=11.110000(1)
(4) 规格化
左移阶码-1,右移阶码+1
规格化负数,尾数的最高为应该为0,所以将尾数左移两位,阶码减2,最终的结果就是
[x浮]=1101;11.000010
求差同样的方法