科学计算器最容易"悄悄算错"的几个地方

科学计算器很少会"大声"提醒你算错了。大多数看似诡异的错误结果,其实都来自某个被忽略的模式设置或运算约定,而不是计算器本身出了故障。

角度制(DEG)和弧度制(RAD)设置错误是最常见的出错原因

sin(30)在角度制模式下结果是0.5,但在弧度制模式下结果约为-0.988,因为同样是数字30,在两种模式下代表的角度完全不同。计算三角函数之前先确认计算器当前的模式显示,是避免这类错误最基本的习惯。

计算器上的log通常指以10为底,ln才是自然对数

在大多数科学计算器上,log(x)默认是以10为底的常用对数,ln(x)才是以e为底的自然对数。但不少编程语言里的log()函数实际指的是自然对数,这一点在计算器和代码之间切换时特别容易搞混。

隐式乘法的运算优先级确实存在歧义,不是计算器出故障

像"6÷2(1+2)"这样的表达式,根据"2(1+2)"这部分隐式乘法是否被优先处理,答案可能是1,也可能是9。不同品牌、不同型号的计算器对这个问题的处理方式并不统一,这是运算约定上的分歧,而不是某台计算器算错了。

阶乘增长速度极快,很快就会超出计算器的显示范围

阶乘的增长速度惊人,20!就已经超过200亿亿(2×10的18次方)。很多计算器在70!左右就会达到显示或计算上限,直接返回溢出错误。

科学记数法(E表示法)是对超大或超小数字的压缩表示

显示为"1.5E8"的结果,意思是1.5×10的8次方(即150,000,000),既不是1.5的8次方,也不是1.58。看错E表示法,是计算结果看起来"差了好几个数量级"却找不到原因的常见情况。

为什么同一个算式会出现两个都"说得通"的答案

像"2x"这样省略乘号的"隐式乘法"只是一种书写习惯,并不是一个被严格标准化的运算符。因此,隐式乘法是否应该优先于显式的除法运算,不同计算器厂商、不同教材之间存在分歧。两种答案本身都不算"错",只是背后依据的约定不同——最稳妥的做法是遇到容易产生歧义的算式时,主动加上括号,而不是依赖隐式乘法的默认优先级。

比起按错按钮,忽略模式提示更容易导致算错

科学计算器的计算错误,很多时候并不是因为按错了按钮,而是因为角度制/弧度制的设置、固定小数位数的设置,或者内存里存着的某个旧数值这些不太显眼的设置被忽略了。养成在相信结果之前,先看一眼屏幕上小小的模式提示的习惯,能避免不少这类问题。

常见问题

log和ln到底有什么区别?

log是以10为底的常用对数,表示"10要乘多少次才能得到这个数";ln是以e(约等于2.718)为底的自然对数。同一个输入数字,log和ln算出来的结果完全不同,两者不能互相替代使用。

为什么算一个看起来不算很大的数的阶乘,计算器会报错?

阶乘的数值增长速度非常快,即使是70左右这样看起来不算特别大的数字,它的阶乘也早已超出了大多数科学计算器能够显示或准确计算的数值范围。这属于阶乘本身的数学特性导致的正常现象,不是计算器故障。