当前的实数在我们的日常生活中不方便表示非常小的数字,例如+0.00000012347650。该相同数字可以更方便地用科学计数法表示为+ 1.23476×10 -07。但这实际上代表+0.000000123476。因此存在0.00000000000005的误差,这形成了非常小的百分比误差。
浮点表示在概念上与科学计数法相似。从逻辑上讲,浮点数包括:
在给定基数(或基数)中具有给定长度的带符号(表示正数或负数)的数字字符串。此数字字符串称为有效数字,尾数或系数。
有符号整数指数 ,可修改数字的大小。
该浮点数患的是要注意重要损失 的精度 时具有固定数量的比特来表示(例如,32位或64位)。这是因为有无限 实数(即使在0.0到0.1的小范围内)。另一方面,n位二进制模式可以表示有限的2n个不同数字。因此,并非所有的实数都可以表示。浮点数算法的效率远远低于整数算法。因此,如果应用程序不需要浮点数,则最好使用整数。相反,将使用最接近的近似值,从而导致精度损失。现代计算机采用IEEE 754标准来表示浮点数。有两种表示方案:32位单精度和64位双精度。
IEEE浮点数具有三个基本组成部分:符号,指数和尾数。尾数由分数和隐式前导数字组成(如下 )。指数基数(2)是隐式的,不需要存储。
下表显示了单精度(32位)和双精度(64位)浮点值的布局。显示每个字段的位数,然后在方括号中显示位数范围。00 =最低有效位。
标志 | 指数 | 分数 | |
单精度 | 1 [31] | 8 [30–23] | 23 [22–00] |
双精度 | 1 [63] | 11 [62–52] | 52 [51–00] |
布局为位,浮点数看起来像这样-
单精度-SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF
双精度-SEEEEEEE EEEEFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF