
3.5 科学计数法
一般情况下,我们计算的数值都比较小,因此常见的数值表示方式能够应对生活中的数值问题。但是如果对两个非常大的数进行乘法运算,最后的结果会是一个数值非常大的数,在这个时候我们需要使用一种特别的方式。在Python的交互模式下中输入下面的代码:

在上面的例子中,两个比较大的数值相乘后,得到的结果可能会超过15位,但是Python解释器并没有将这个数值直接输出,在答案中我们可以看到一个字符e。在计算领域中,字符e是用来显示非常大或非常小的数的一种方法。我们可以将这种方式称为E记法。处理非常大的数时,如果要将所有数字和小数位都显示出来会比较麻烦。这种形式的数值在一些工程领域中比较常见。例如,如果在一个天文程序中显示从地球到Z星的公里数,可能会显示为540000000000000000或者540 000 000 000 000 000(54后面有16个0)。不论显示的是哪种格式,我们都比较难以对这些数值有一个直观的理解。
为了能够很好地显示这些数值,我们可以考虑在Python中使用科学计数法。科学计算法就是用一个小数然后乘以一个10的幂值,小数表示基数,幂值表示数的阶数。在科学计数法中,地球到Z星之间的距离可以写作:5.4×1017。这读作“5.4乘以10的17次幂”或者“5.4乘以10的17次方”。我们可以这样理解这个表示:将5.4的小数点向右移17位。
E记法
在E法中,地球到Z星之间的距离可以写为5.4E17或者5.4e17。读作“5.4指数17”或者“5.4e17”。一般情况下我们假设指数是10的幂,这样上面的数可以表示为5.4×1017。在Python中,可以使用大写或者小写的E来表示指数的基。
对于非常小的数,例如数值0.00000004289,我们能够用E记法来表示负指数。科学计数法会写作4.289×10-8,E记法会写作4.289e-8。负指数中的“负”表示把小数点向左移而不是向右移。