1、浮点数的计算精度问题
先进行一个小实验。以python语言为例,打开python的命令行工具ipython,并在其中输入一个带小说的表达式,观察输出的结果。你会发现输出的结果与我们预期的计算结果0有着很大差别。
In [1]: 0.9-0.3*3
Out[1]: 1.1102230246251565e-16
造成这一结果的原因是,我们计算机是二进制的形式来存储数据的,而99%的浮点数都无法用二进制精确表示。因此在上面的例子中输入的几个浮点数,在计算机中都是以近似值的形式存储,用多个近似值进行计算的时候,就出现精度丢失的问题,导致我们看到的结果与预期输出有着很大差异。