其他分享
首页 > 其他分享> > 浮点数

浮点数

作者:互联网

在学完码制之后,发现其实整数之间的运算并不复杂,而真正复杂的是浮点数之间的运算,在这里我简单说明一下浮点数的运算。

浮点数的表示:
N=M*Rⁿ,其中M成为尾数,n是指数,R是基数.
例如 : 1000=1.0×10³,其中1.0 是尾数,3是指数也是阶码,10是基数。

浮点数运算一般包括三步:
⑴对阶

对阶,即阶码相对,也就是将阶码化为一致的。
求阶差 x=a×2ⁿ¹, y=b×2ⁿ²
阶差∆j=n¹-n²
当∆j=0时,n¹=n²,已对奇
当∆j>0时,n¹>n²,此时有两种对阶方式,
❶n¹向n²对奇,n¹每减一,a左移一位(这里不知道大家可不可以理解,仔细想,次幂减1,那么尾数需要扩大10倍,相当于左移一位);
❷n²向n¹对奇,n²每加一,b右移一位(同上)。
重点:当使用第一种方法对阶时,会造成溢出的现象,而且是左侧溢出,左侧溢出可能造成符号位丢失或者是数值位最大位丢失,这样做会严重影响数字的大小,使用第二种方法,也会产生溢出,但是是最右侧溢出,往往只会造成数字的精度不准确,而不会左右大小,所以一般情况采用小的向大的对齐。
当∆j<0时,n¹<n²,同样有两种对阶方式,同上。

⑵尾数计算

在对阶完成之后,要做的便是尾数计算,很简单,不过就是基本运算而已。

⑶结果格式化

顾名思义,将所得结果进行格式化处理

在这里插入图片描述
在这里插入图片描述

在浮点运算有一些要注意的要点:
1、一般尾数用补码表示,阶码有移码表示。
2、阶码的位数决定数的表示范围,位数越多范围越大。
3、尾数的位数决定数的有效精度,位数越多精度越高。
4、对阶时,小数向大数看齐。
5、对阶时通过较小数的尾数算术右移实现的

学习视频可参考B站https://www.bilibili.com/video/BV1t4411e7LH?p=91&spm_id_from=pageDriver

标签:阶码,运算,尾数,浮点数,位数,溢出
来源: https://blog.csdn.net/Desire_Dir_W/article/details/114433621