科学计算器
结果
结果
- 加满括号的读法
- (sin(30) + ((2 ^ 3) * sqrt(16)))
科学计算器算得对不对,全看它按什么顺序读你的式子,所以这一页把两半一起给你:值,以及把每一个括号都摊开的读法。2 + 3 * 4 得 14,因为乘法先算;而 (2 + 3) * 4 得 20。乘方是右结合的,2^3^2 读作 2^(3^2) = 512;乘方又比前面的负号紧,所以 -2^2 是 -4。三角函数按你选的角度制读入:同一串 sin(30),在度数制下是 0.5,在弧度制下是 -0.988032。
sin(30) + 2^3 * sqrt(16) 的逐步求值
| 步 | 算的是 | 度数制 | 弧度制 |
|---|---|---|---|
| 1 | sin(30) | 0.5 | -0.988032 |
| 2 | 2 ^ 3 | 8 | 8 |
| 3 | sqrt(16) | 4 | 4 |
| 4 | 2 ^ 3 * sqrt(16) | 32 | 32 |
| 5 | sin(30) + 2 ^ 3 * sqrt(16) | 32.5 | 31.011968 |
这是计算器实际的运算顺序:最里层、最左边的先算,所以三个函数与那个乘方都在两个运算符之前就求完了。把第二列从上往下读,读的也正是优先级规则——sin(30),然后 2 ^ 3,然后 sqrt(16),然后是后两者的乘积,最后是那个和。右边两列是两种角度制并排:只有含三角函数的那几行在两者之间不同,而这就是角度制做的全部事情。第 2、3 行两列相同正是这个原因,第 4 行相同则是因为它由前两行构成。表里全是数字,十个语言下读到的都一样。
公式
优先级由松到紧: + - → * / → 负号与 √ → ^(右结合) 三角函数按所选角度制读入,asin、acos、atan 也按同一种角度制把答案还给你
- ^
- 乘方,也是结合得最紧的一个:2^3 * 4 先算 2 的三次方,得 8 * 4 = 32。它还是唯一右结合的运算符,所以 2^3^2 是 2^(3^2) 而不是 (2^3)^2——512,不是 64。
- √
- 平方根,写 √16 或 sqrt(16) 都认,回显一律印成 sqrt(16)。立方根 cbrt 是唯一接受负数的一个:cbrt(-27) 得 -3,而 sqrt(-4) 在实数里没有答案。
- sin cos tan
- 三个三角函数。它们的自变量是一个角,按你选的角度制读入——同样一串 sin(30),度数制下是 0.5,弧度制下是 -0.988032。asin、acos、atan 反过来走,把答案按同一种角度制还给你。
- deg / rad
- 角度制。它只改三角函数,别的一概不动:其余运算符、以及任何不含三角函数的式子,两种制式下得数一模一样。它也是「看起来完全正确的算式算出错答案」最常见的那一个原因。
- ( )
- 括号,能盖过上面那套优先级。它也是唯一能让你看见结合方式的东西:第二个输出把整个式子重写一遍,每一次运算都加上括号,于是 (2 + (3 * 4)) 与 ((2 + 3) * 4) 一眼就能对比。
当你要算的是本站别的计算器之间那些零碎算式时用它:一个乘方与开方混在一起的计算、某个特定角度制下的三角函数值,或者一条你本来得拆成好几步、还要自己盯住运算顺序的复合算式。那个加满括号的读法是留给你觉得答案不对劲的那一刻的——十次里有九次错的不是算术,是结合方式。
算例
sin(30) + 2^3 * sqrt(16),度数制
- 先看优先级:整条式子是一个和,和的右边是一项乘积
- 角度制为度数时,sin(30) 是 0.5
- 2^3 = 8——乘方先于它所在的那次乘法
- sqrt(16) = 4
- 8 * 4 = 32
- 0.5 + 32 = 32.5
第一眼该看的是那个加满括号的读法:(sin(30) + ((2 ^ 3) * sqrt(16)))。它说明加法最后才算,而乘法同时管着它右边那两块。把角度制换成弧度,除了第一步以外什么都不变——sin(30) 变成 -0.988032,答案变成 31.011968。
(2 + 3) * 4,括号就是全部意义所在
- 括号先算:2 + 3 = 5
- 再算乘法:5 * 4 = 20
- 不加括号的话,读法是 (2 + (3 * 4)) = 14
两个字符让答案差了六。这一对值得并排输进去比: (2 + 3) * 4 的括号读法是 ((2 + 3) * 4),而 2 + 3 * 4 是 (2 + (3 * 4))——两种读法只差一个位置,而那个位置正是答案的来源。
sin(pi/2),弧度制
- pi 是常量 3.141592653589793,所以 pi/2 是 1.5707963267948966
- 角度制是弧度,这个数就是角本身
- 四分之一圈的 sin 是 1
同一个四分之一圈,用度数写就是 90。角度制不是显示偏好——它决定交给函数的是哪个数:90 弧度约等于十四圈多一点,sin(90) 在弧度制下会是 0.893997。
局限
只收一条算式,而且必须是纯算术。没有变量,所以 x + 1 输不进去,也不做符号化简:(x + 1)(x + 2) 是 foil-calculator 的事,解方程是 quadratic-formula-calculator 的事。答案只给小数——结果保留六位,特别大或特别小的量写成尾数乘 10 的幂——因为这里要的本来就是一个数,不是精确形式;√72 回的是 8.485281 而不是 6√2(那个归 radical-calculator)。认的函数是 sin、cos、tan、asin、acos、atan、sqrt、cbrt、ln、log、log2、exp 和 abs,常量是 pi 与 e。乘号不许省:2pi、2(3+4)、2e3 一律拒收而不是替你猜;函数名后面必须跟括号,所以 sin 30 也不认。算式最长 80 个字符、48 次运算,单个字面量不超过一百万。结果必须是有限数:除以零、对零或负数取对数、对负数开平方、以及 tan 90 度,都报成「算不出来」,而不是给一个无穷大,也不会把输入框标红——它们是不存在的值,不是写错了的字。
常见问题
- 这条算式是按什么顺序算的?
- 先乘方,再负号与开方,再乘除,最后加减,括号盖过其中全部。同一级里从左往右结合,只有乘方是从右往左。所以 6 / 3 * 2 是 4 不是 1,2^3^2 是 512 不是 64。
- 该选度数还是弧度?
- 题目用什么写的就选什么,选错答案会完全不同:sin(30) 在度数制下是 0.5,在弧度制下是 -0.988032。如果式子里根本没有三角函数,两种制式一模一样——本页的参考表把两列并排给出,正好能看见它到底动了哪几步。
- 2pi 的乘号明摆着,为什么还要拒收?
- 因为只有人看着才明摆着。反例是 2e3:它可以读成科学计数法的字面量,也可以读成 2 乘常量 e 再乘 3,两种读法差了大约一千倍。与其替你挑一个、再对另一半人悄悄算错,不如要求把符号写出来:写成 2 * pi。
- 负数的平方根为什么直接算不出来,而不是给个答案?
- 因为没有实数的平方是负数。sqrt(-4) 在实轴上没有值,所以报成「算不出来」,具体原因留在浏览器控制台里给想看的人。cbrt 是接受负数的,因为负数的奇次方根就是一个好好的负数:cbrt(-27) 得 -3。
- 那个加满括号的输出有什么用?
- 它就是计算器读到的式子,每一次运算都加了括号。读 (sin(30) + ((2 ^ 3) * sqrt(16))) 能一次看出三件原式只暗示了的事:加法在最后,乘方属于那次乘法,而平方根是一个独立的因子。答案看着不对的时候,问题通常就出在这一行上。
- 答案有多精确?
- 是小数,四舍五入到六位,所以 sin(30) 回 0.5,1/3 回 0.333333。特别大或特别小的结果会换成尾数乘 10 的幂,2^100 写成 1.267651 × 10^30,而不是三十一位数字。要精确形式的根式,radical-calculator 和 square-root-calculator 会把根号留着。
参考资料
- 运算顺序——这一页那个加满括号的读法所摊开的优先级与结合规则 — Wolfram MathWorld(美国)
- 三角函数——本页接受的六个函数,以及它们的自变量代表哪个角 — Wolfram MathWorld(美国)
- 弧度——角可以写的另一种单位,也就是角度制在两者之间切换的那两个量 — Wolfram MathWorld(美国)