コンテンツにスキップ

科学計算機:累乗・ルート・対数・三角関数

累乗、ルート、log・ln、度数法またはラジアンでの正弦・余弦・正接、階乗、パーセント、メモリーに対応したオンライン科学計算機です。

Scientific Calculator

Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.

Use + - * / for arithmetic, ^ for powers, ! for factorial and % for percent.

Type an expression or use the keypad to see a result.

Keypad

How this calculator reads an expression

Percent divides by 100 wherever it appears, so 100+10% is 100.1, not 110. Powers group from the right: 2^3^2 is 2^9, which is 512. A minus sign in front of a power is applied last, so -2^2 is -4. Two things written side by side are multiplied, and that multiplication ranks with division, so both are read left to right: 1/2pi means (1/2) times pi, and 6/2(1+2) is 9. Some scientific calculators read 1/2pi the other way, as 1/(2 times pi), so use brackets when the meaning matters. In Degrees mode the tangent is refused at 90 degrees and every odd multiple of it, because it has no value there.

History

No calculations yet. Press = to add one.

ローディング計算機...
📚

ドキュメンテーション

科学計算機

科学計算機は、入力された数式の値を計算します。この計算機は、べき乗、根、対数、三角関数、階乗、百分率を読み取り、標準的な演算の優先順位を適用して、1つの答えを表示します。

計算機の機能

数式は「式」ボックスに入力するか、キーパッドで組み立てます。計算機は式が変わるとすぐに読み取るため、答えを見るのに等号キーは必要ありません。代わりに、=キーを押すと計算が履歴リストに追加されます。

次のものを受け付けます。

  • 数字、小数点、1.5e-3のような指数形式の数値
  • 演算子+-*/^(べき乗)、および括弧
  • 定数pie
  • 関数sincostanasinacosatanloglnsqrtcbrt
  • 後置記号!(階乗)と%(百分率)

キーパッドの記号は通常の表記に変換されるため、×÷πは、それぞれ*/-piと同じ意味です。

logは底10の対数で、lnは自然対数、つまり底eの対数です。これはTIおよびカシオの科学計算機で使われている表記であり、NIST Digital Library of Mathematical Functionsの4.2節でも同じ命名が使われています。

演算の優先順位

数式が何を意味するかを決める規則が、演算の優先順位です。この計算機では、以下の文法を使います。各行はその下の行を呼び出すため、入れ子構造が優先順位表になります。最後の行が最も強く結び付き、最初に計算されます。

1expression := term (('+' | '-') term)*
2term       := unary (('*' | '/' | juxtaposition) unary)*
3unary      := ('-' | '+') unary | power
4power      := postfix ('^' unary)?
5postfix    := primary ('!' | '%')*
6primary    := number | constant | name '(' expression ')' | '(' expression ')'
7

計算される順に並べると、次のとおりです。

  1. 括弧内のすべて、および括弧に適用された関数
  2. !%
  3. ^
  4. 数値の前に付く-または+の符号
  5. */、および隣り合って書かれた2つのもの
  6. +-

この規則による慣例は、ISO 80000-2:2019およびWikipediaの記事「演算の優先順位」と一致します。

書かれた式読み取られる式
2^3^22^(3^2)512
-2^2-(2^2)-4
2^-22^(-2)0.25
2^3!2^(3!)64
100+10%100 + (10/100)100.1
1/2pi(1/2) * pi1.57079632679
6/2(1+2)(6/2) * (1+2)9

隣り合って書かれた2つの数値または名前は乗算されます。これにより、2pi2(3+4)3sin(30)が機能します。この暗黙の乗算は*および/と同じ優先順位なので、隣接乗算と除算は左から右へ読み取られます。多くの携帯型科学計算機は隣接乗算を除算より強く結び付け、1/2pi1/(2*pi)と読み取りますが、これは異なる答えになります。Wikipediaは「電卓への入力方法」でこの違いを説明しています。結果が変わる場合は、括弧を使えば明確になります。

%は、置かれている場所にかかわらず100で割ります。したがって、20%は0.2で、200*15%は30です。これは店舗のレジにある「現在の合計に対する百分率」キーではなく、剰余演算子でもありません。

計算例

sin(30)+2^3*ln(4)という式は、度数法モードでは次の順序で計算されます。

  1. sin(30)は0.5です。30度は直角の半分であり、その正弦は2分の1だからです。
  2. 2^3は8です。べき乗は乗算より先に計算されます。
  3. ln(4)は1.38629436112です。
  4. 8 * 1.38629436112は11.090354889です。
  5. 0.5 + 11.090354889は11.590354889です。

計算機には11.590354889と表示されます。

2つ目の例は左から右へ読む規則を示します。6/2(1+2)では、まず括弧内が計算され、6/2*3になります。除算と暗黙の乗算は同じ優先順位なので、除算が先です。6/2は3、3*3は9になります。

度数法と弧度法

角度単位の設定によって、sincostanが入力をどのように解釈するか、またasinacosatanがどの単位で結果を返すかが決まります。度数法モードでは1回転は360度です。弧度法モードでは1回転は2piラジアンで、約6.28318530718です。同じ式でもモードによって答えは大きく異なります。sin(30)は度数法モードでは0.5、弧度法モードでは-0.988031624093です。

数値の保存と表示

すべての値はIEEE 754 binary64形式の倍精度浮動小数点数です。これはECMA-262の『ECMAScript言語仕様』、6.1.6.1節で説明されている数値型です。倍精度数は約15桁から17桁の十進数字を保持します。答えは画面表示用にのみ、12桁の有効数字へ一度丸められます。0.000001未満または1,000,000,000,000以上の値は指数形式で表示されるため、0.00000011E-7と表示されます。

保存された数値は完全な精度を保ちます。メモリには画面上の12桁ではなく正確な結果が保存され、MRは同じ数値として読み取られる最短のテキストを貼り付けます。負のメモリ値は括弧付きで貼り付けられるため、2の後に呼び出すと減算ではなく乗算として読み取られます。

丸めは判断に決して使われません。以前の計算で生じたごく小さな残差も実数であり、実数として扱われます。0.1*3-0.3は二進数ではゼロではなく、約5.55111512313E-17です。そのため5/(0.1*3-0.3)はゼロ除算メッセージではなく、9.00719925474E16になります。

同じ理由で、度数法モードのsin(180)は1.22464679915E-16と表示され、0とは表示されません。誤差は1000兆分の1程度で、その小ささは保たれます。例外は正接で、以下のように処理されます。

計算機が受け付けないもの

次の場合、計算機は答えの代わりにメッセージを表示します。

  • 分母が完全にゼロの場合。1e-400のように倍精度数では小さすぎる表記上の数値も含まれ、読み取られた時点ですでにゼロになります。
  • sqrtに負の数を与えた場合
  • logまたはlnにゼロ以下の数を与えた場合
  • asinまたはacosに、NIST DLMFの4.14節で示される定義域-1から1の外側の数を与えた場合
  • 90度、またはその奇数倍でtanを使った場合。このとき正接は値を持ちません。
  • 0から170までの整数以外に階乗を求めた場合
  • 1.2.3のように、数値に小数点が2つ目も含まれている場合
  • 式が512文字を超える場合

170という上限は好みで決めたものではなく、数値型の性質によるものです。170の階乗は約7.25741561531E306で、倍精度数に収まりますが、171の階乗は収まりません。512文字の上限はコードで確認されます。式の長さによって計算機が行う処理量が決まるためです。

正接の確認では、検査前に角度を小数点以下9桁へ丸めます。これにより、以前の計算によるずれを正確な漸近線へ戻しますが、その代わり両側に約5e-10度幅の拒否範囲が生じます。tan(89.9999999994)は95,493,592,025を返しますが、tan(89.9999999995)は拒否されます。弧度法モードではこの確認を行いません。円周率の半分に近い入力ラジアン値も、特別扱いされない単なる数値だからです。

よくある質問

ここで%キーは何をしますか? 出現した場所にかかわらず、100で割ります。100+10%は100.1です。これは100に0.1を加えるという意味だからです。直前までの値に対する百分率を求めるものではありません。

2^3^2は64ですか、それとも512ですか? 512. べき乗は右から結合するため、2^(3^2)を意味し、これは2^9になります。ISO 80000-2:2019に従ったものです。

なぜ6/2(1+2)は9で、1ではないのですか? 暗黙の乗算は除算と同じ優先順位であり、同じ優先順位の演算は左から右へ読み取られます。隣接乗算をより強く結び付ける計算機では1になります。括弧を使えば疑いはなくなります。

なぜsin(180)は0と表示されないのですか? 180度はまずラジアンに変換され、円周率は二進数で正確に表せないからです。答えは約1.2e-16で、これは計算機が実際に使った数値の正弦の真の値です。

logとlnの違いは何ですか? logは底10なので、log(1000)は3です。lnは底eなので、ln(e)は1です。キーパッドの表記はTIおよびカシオの科学計算機と同じ慣例に従っています。

なぜ170を超える階乗は拒否されるのですか? 171の階乗は、倍精度数が保持できるどの数値よりも大きいため、答えは数値ではなく無限大になります。計算機は意味のない結果を表示せず、そのことを伝えます。

出典

  • IEEE 754-2019『浮動小数点演算に関するIEEE標準』
  • ECMA-262『ECMAScript言語仕様』6.1.6.1節「Number型」
  • ISO 80000-2:2019『量及び単位』第2部「数学記号及び数学用語」
  • NIST Digital Library of Mathematical Functions、4.2節および4.14節
  • Wikipedia「演算の優先順位」
  • Wikipedia「電卓への入力方法」