> 文档中心 > 浮点类型的二进制存储方式

浮点类型的二进制存储方式

目录

含义

科学记数法

浮点数表示


含义

        计算机定义了两种小数,定点数浮点数。其中,定点数的小数点位置是固定的,在确定字长的系统中一旦指定小数点的位置后,它的整数部分和小数部分也随之固定,所以定点数能够表示的范围非常有限。

而比定点数更加复杂的则是浮点数它是采用科学技术法来表示,由符号位、指数(偏移量)、有效数字三部分组成。若使用不当则容易造成计算值与理论不一致。

如:

float f1 = 0.5f;

float f2 = 0.4f;

float f = f1-f2;//结果为0.09999999998

执行结果显示计算结果与预期存在明显的偏差,现在我们就深入剖析造成这个误差的原因来介绍浮点数的构造和计算机原理。由于浮点数是以科学记数法来表示的,所以我们先从科学计算法讲起。

科学记数法

        浮点数计算机用来表示小数的一种数据类型。在数学中,采用科学计数法来近似表示一个极大或极小且位数较多的数。

如:

      

浮点数表示

        浮点数表示就是如何用二进制数表示符号位、指数(偏移量)、有效数字。当前业界流行的浮点数标准IEEE754,该标准规定了4种浮点数类型:精度、双精度、延伸单精度、延伸双精度。前两种类型是最常用的。

         因为浮点数无法表示零值,所以取值范围分为两个区间:正数取值范围负数取值范围

下面将着重分析单精度浮点型,而双精度浮点型与其相比只是位数不同而已,完全可以触类旁通。以单精度浮点型为例,它被分配了4个字节,总共32位。

例:

      将7.125转换为二进制: