说到浮点数我们不得不说一下定点数
含义:计算机定义了两种小数,分别是定点数和浮点数。
定点数:定点数的小数点的位置是固定的,字节的长度一旦在系统中是固定的,那么它的整数部分和小数部分也随之固定,所以定点数所表示的范围也是有限的。
相比于定点数,浮点数更加的复杂,它是采用科学计数法来表示的,分别由符号位、偏移量(也叫阶码)、有效数字三部分组成,如果使用不当则会造成如下计算值与理论值不一致的情况。
float f1 = 0.5f;
float f2 = 0.4f;
float f3 = f1 - f2;//结果为0.09999999998,idea运行的结果显示为0.099999994,这个我们不用纠结它们为什么不同
那么我们首先得知道科学计数法:
浮点数是计算机用来表示小数的一种数据类型,在数学里面我们都知道这种方法表示一个极大或者极小的数值。
那么浮点数应该如何表示呢?
上面也说了浮点数就是有符号位、偏移量、有效数字来表示的,那么是如何用二进制的来表示符号位、偏移量和有效数字的呢?
当前流行的浮点数标准是IEEE754,该标准规定了4种浮点数类型:单精度、双精度、延伸单精度、延伸双精度。前两种类型是最常用的。
因为浮点数无法表示0,所以取值范围就分为两个区间:正数取值范围和负数取值范围。下面将着重分析单精度浮点型,而双精度浮点型与其相比只是位数不同而已,完全可以触类旁通。以单精度浮点型为例,它被分配了4个字节,总共32位。
以7.125转换二进制为例:
如有不当之处,望之处,定改!!!!