電卓・関数電卓
シンプルな電卓と関数電卓を1か所で
シンプルな電卓と関数電卓を1か所で
読み込み中…
処理中…
0.0
停止していません。計算が終わると結果が表示されます。
電卓・関数電卓について
このページには計算機が2つあります。基本モードはスマホや電卓と同じく、キーを押した順に計算します。関数電卓モードは1行の式をまとめて読み、演算の優先順位に従って計算します。同じ 2 + 3 × 4 でも、基本モードは20、関数電卓モードは14です。どちらかが壊れているのではなくルールが違うだけですが、どちらのルールかを知らずに使うと誤った答えを信じてしまいます。
以下では、2つの方式が分かれる点と、計算機が「おかしく」見えがちな場面(0.1 + 0.2、%キー、度とラジアン、6÷2(1+2))を、このツールが実際にどう処理するかに沿って説明します。
押した順に計算する電卓、式を読む電卓
基本モードはいわゆる逐次計算方式です。演算キーを押した時点で、それまでの結果が確定します。2 + 3 × 4 では × を押した瞬間に 2 + 3 が5になり、それに4を掛けて20です。レシートの金額を順に足していくような使い方にはこの方式が便利で、一般的な電卓の多くがこう動きます。
関数電卓モードは式全体を解析してから計算します。掛け算・割り算が足し算・引き算より先、べき乗はさらに先です。このツールでは -3^2 は -9(べき乗が先、符号は後)、2^3^2 は 2^9 = 512(右から結合)になります。Excel の =-3^2 は9を返すので、表計算の結果と比べるときは括弧で意図をはっきりさせてください。
「電卓によって答えが違う」という話題の多くはこの違いです。掛け算が混ざった式は、1つずつ押すのではなく関数電卓モードに式ごと入れるほうが確実です。
0.1 + 0.2 が 0.3 と表示される理由
コンピューターは数を2進の浮動小数点(IEEE 754 倍精度)で保存します。0.1 は2進では割り切れないため近似値になり、JavaScript でそのまま 0.1 + 0.2 を計算すると 0.30000000000000004 になります。このツールはどちらのモードも計算は全精度で行い、表示するときだけこの誤差を整えます。違うのは表示の桁数だけです。
基本モードは結果を小数第10位で丸めて表示します。そのため 0.1 + 0.2 は 0.3 と表示されます。丸めは画面だけで、次の計算には全精度の値が渡るので、1 ÷ 3 = で 0.3333333333 と表示されても、続けて × 3 = を押すと 0.9999999999 ではなく1になります。計算のたびに保存値そのものを丸める電卓なら、ここで 0.9999999999 になります。
関数電卓モードは計算中は全精度を保ち、表示のときだけ有効数字12桁に整えます。1/3*3 は1、0.1*3 は0.3です。途中結果を書き写して入れ直すのではなく、1つの式にするか Ans を使えば誤差がたまりません。
%キーは両モードで同じ規則
基本モードの%は一般的な電卓の慣習に従います。+ か − が待機中なら「最初の数の何%」に変換します。200 + 10 % = は 200 + 20 = 220、200 − 10 % = は180です。× か ÷ が待機中、または演算がない場合は単に100で割ります(200 × 10 % = は20)。税込み価格や割引の計算に便利です。
関数電卓モードも同じ規則です。+ か − の直後の項が b% なら a + b% = a × (1 + b/100)、a − b% = a × (1 − b/100) と計算し、200+10% は220、200-10% は180です。それ以外は100で割ります(200*10% は20、50% は0.5)。この規則は%の項が + · − の右側全体のときだけ働くので、200+10%*2 は 200 + 0.2 = 200.2 です。%の直後に数・括弧・名前が続くと剰余と読み、7%3 は1(mod(7,3) と同じ)です。
度(DEG)とラジアン(RAD)
関数電卓モードは DEG で始まるので、sin(30) は30度の正弦で0.5です。角度ボタンで RAD に切り替えると、同じ入力が30ラジアンの意味になり約 -0.988 になります。物理の公式やプログラミング言語はほぼラジアンが前提なので、教科書の答えと合わないときはまずモードを確認してください。
モードを変えずに式の中で単位を書くこともできます。RAD モードでも sin(30°) は0.5です。° がその数だけを度として扱うからです。特殊角では浮動小数点の誤差を整え、cos(90°) = 0、RAD での sin(pi) = 0 と表示します(そのままなら 1.2×10^-16 のような値が残ります)。微分・積分・solve の中ではモードに関係なくラジアンで計算します。
6÷2(1+2) は1か9か
括弧の前の掛け算記号を省いた式は解釈が割れます。掛け算と割り算を同順位として左から計算すれば 6÷2×3 = 9、省略された掛け算を先にまとめれば 6÷(2×3) = 1 です。これを決める統一的な国際ルールはなく、電卓のメーカーや機種によっても答えが違います。
このツールの関数電卓モードは、省略された掛け算(2(1+2)、2pi、3sin(x))を明示的な × や ÷ より強く結合します。したがって 6÷2(1+2) は1、x = 4 のとき 1/2x は 1/(2×4) = 0.125 です。「x の半分」のつもりなら (1/2)x か 1/2*x と書いてください。記号を省かないことが、どの計算機でも同じ答えを得る方法です。
例
同じ入力、違うモード
- 入力
基本:2 + 3 × 4 = / 関数電卓:2+3*4- 結果
20 / 14
基本モードは × を押した時点で 2+3 を確定し、関数電卓モードは掛け算を先にします。
表示は丸め、計算は全精度
- 入力
基本:1 ÷ 3 = × 3 = / 関数電卓:1/3*3- 結果
1 / 1
基本モードは 1/3 を 0.3333333333 と表示しますが、掛けるときは丸める前の値を使います。
消費税10%を足す
- 入力
基本:1980 + 10 % =- 結果
2178
1980 の10%(198)を足します。関数電卓モードでも 1980+10% で同じ2178になります。
省略された掛け算
- 入力
関数電卓:6÷2(1+2)- 結果
1
2(1+2) が先に6になります。9にしたいなら 6÷2*(1+2) と書きます。
使い方
- 上のタブで基本モードと関数電卓モードを選びます。
- 基本モードでは数字と演算キーを順に押し、= で確定します。
- 関数電卓モードでは式を1行で入力して = を押します。三角関数の前に DEG/RAD の表示を確認します。
よくある質問
スマホの電卓と答えが違います。
スマホの電卓が押した順に計算する方式なら基本モードと同じで、掛け算が混ざる式では関数電卓モードと答えが変わります。優先順位どおりに計算するには関数電卓モードに式をまとめて入れてください。
sin(30) が -0.988 になります。
角度モードが RAD です。DEG に切り替えるか、sin(30°) と書けば0.5になります。
関数電卓モードで 7%3 はいくつですか?
%の直後に数が続くと剰余なので1です(mod(7,3) と同じ)。200+10% のように + · − の後の%は基本モードと同じく220になります。
マイナスの数の2乗はどう入力しますか?
(-3)^2 のように括弧で囲むと9です。-3^2 は -(3^2) = -9 と計算されます。
出典
基準日: