视频地址:

http://player.bilibili.com/player.html?aid=31289365&bvid=BV1iW411d7hd&cid=99095507&page=4

课件地址:

对应于书本的2.4。

如有错误请指出,谢谢。


1 浮点数简介

浮点表示对形如 $V=x \times 2^{y}$ 的有理数进行编码,比较适用于非常大的数字、非常接近0的数字。它常常不会太多关注运算的准确性,而是把实现的速度和简便性看得比数字精确性更重要。1985年提出了IEEE标准754,仔细制定了表示浮点数机器运算的标准,后续所有计算机都支持这个标准,极大提高了程序可移植性。

首先会介绍IEEE浮点表示方法,然后由于数字不能精确被表示,所以会介绍浮点数的舍入问题。最后介绍浮点数相关的运算。

2 IEEE浮点表示

IEEE浮点表示使用 $V=(-1)^{s} \times M \times 2^{E}$ 表示数字。其中包含三部分:

C语言中有单精度精浮点数float,其中s=1、k=8、n=23;还有双精度浮点数double,其中s=1、k=11、n=52。

我们可以根据尾数和阶码的不同取值,将其分成三种情况: