CCalculate.Studio

🧮 関数電卓

この関数電卓は、入力した数式を標準的な演算順序(PEMDAS)に従って評価します。ラジアンまたは度での三角関数、平方根と立方根、対数、指数、丸め関数、定数π、e、τ、そして演算子+ − * / % ^と括弧に対応しています。例えば、sin(pi/6) + sqrt(16) * 2^3は、ラジアンモードでは0.5 + 4 × 8 = 32.5と評価されます。

最終確認日: 2026-07-07
Add as preferred on Google

対応する関数と定数

パーサーが受け付けるものをすべて以下に示します。これ以外のトークンは、安全のためすべて拒否されます。

カテゴリー利用できるもの
三角関数sin, cos, tan, asin, acos, atansin(pi/2) = 1(ラジアン)
根号と絶対値sqrt, cbrt, abssqrt(16) = 4;cbrt(27) = 3
対数と指数ln, log(底10), log2, explog(1000) = 3;ln(e) = 1
丸めfloor, ceil, roundfloor(2.7) = 2;ceil(2.1) = 3
2引数min(a, b), max(a, b)max(3, 7) = 7
定数pi, e, tautau = 2 × pi = 6.283185…
演算子+ − * / % ^ と括弧2^10 = 1024;10 % 3 = 1
  • 角度の単位は三角関数にのみ適用されます。度モードでは、sin/cos/tanへの入力を度として変換し、asin/acos/atanの結果を度で返します。
  • ここでのlogは底10の対数を意味します。自然対数にはln、底2の対数にはlog2を使ってください。
  • このパーサーはセキュリティ用のホワイトリストです。式が直接evalに渡されることはなく、認識できない識別子があれば、推測することなく式全体が無効になります。
  • 結果は倍精度浮動小数点演算(有効桁数はおよそ15〜16桁)に制約されます。0.1 + 0.2の結果が0.30000000000000004になるような小さな丸め誤差は、浮動小数点演算に固有のものです。

この関数電卓とは?

関数電卓とは、基本的な四則演算を超えた数式、すなわち三角関数、対数、指数、根号、定数などを評価するものです。この電卓は式全体をテキストとして受け取り、標準的な演算順序、すなわち括弧、指数、乗算・除算・剰余、加算・減算の順(PEMDAS/BODMAS)を適用します。

対応する関数:sin、cos、tanとその逆関数asin、acos、atan。sqrt(平方根)とcbrt(立方根)。abs(絶対値)。ln(自然対数)、log(常用対数)、log2(底2の対数)、exp(eのべき乗)。floor、ceil、round。2引数のmin(a, b)とmax(a, b)。対応する定数:pi(3.14159…)、e(2.71828…)、tau(2 × pi)。対応する演算子:+ − * / %(剰余)と^(べき乗)、および括弧と単項マイナス。

式は安全なホワイトリスト方式のパーサーによって評価されます。入力は、許可された関数・定数・数値・演算子の固定リストと照合してトークン化され、そのリストにないものはすべて拒否されます。この電卓は入力をJavaScriptエンジンのevalに渡すことは決してないため、任意のコードが実行されることはありません。未知の名前は単に結果を返さないだけです。

角度の単位設定は三角関数に作用します。度モードでは、sin、cos、tanへの引数は度として解釈され、asin、acos、atanの結果は度で返されます。ラジアンモード(数学的な既定値)では、すべての角度がラジアンで扱われます。

この関数電卓の使い方

  1. 式を入力します。例:sin(pi/6) + sqrt(16) * 2^3。関数の引数は括弧内に書きます。乗算は*を使って明示的に書く必要があります(2piではなく2*piと書きます)。
  2. 三角関数を評価する前に、角度の単位(ラジアンまたは度)を選びます。度モードのsin(30)は0.5ですが、ラジアンモードでは約−0.988です。
  3. 結果を確認します。非常に大きい値や小さい値は科学的なe表記で表示されます。
  4. 結果が表示されない場合は、括弧の対応が取れているか、関数名が正しいか、暗黙の乗算がないかを確認してください。ホワイトリスト方式のパーサーは、認識できないものをすべて拒否します。

演算順序(PEMDAS)

順序:括弧 > 関数 > ^ > 単項マイナス > * / % > + −
例:sin(pi/6) + sqrt(16) * 2^3 = 0.5 + 4 * 8 = 32.5
右結合性:2^3^2 = 2^9 = 512
剰余:10 % 3 = 1(%はパーセントではなくモジュロ)

式は次の順序で評価されます:括弧(内側から先に)、関数の適用、べき乗^(右結合)、単項マイナス、*と/と%を左から右へ、そして+と−を左から右へ。これは、数学で教えられる標準的なPEMDAS/BODMASの慣例と一致します。

計算例:ラジアンモードでのsin(pi/6) + sqrt(16) * 2^3。ステップ1(括弧と関数):pi/6 = 0.523599、sin(0.523599) = 0.5。sqrt(16) = 4。ステップ2(指数):2^3 = 8。ステップ3(加算より先に乗算):4 * 8 = 32。ステップ4(加算):0.5 + 32 = 32.5。

特に注意すべき2つの慣例があります。べき乗は右結合なので、2^3^2 = 2^(3^2) = 2^9 = 512であり、(2^3)^2 = 64ではありません。また、%演算子は剰余(モジュロ)演算であり、10 % 3 = 1です。パーセントを意味するものではありません。

よくある間違い

  • 角度の単位を間違えて三角関数を評価してしまうこと。sin(30)が0.5になるのは度モードのときだけで、ラジアンモードでのsin(30)は約−0.988です。
  • 2piや3(4+1)のような暗黙の乗算を書いてしまうこと。パーサーは明示的な*を必要とします:2*pi、3*(4+1)。
  • %をパーセントの意味だと思い込むこと。これは剰余演算子であり、50 % 8 = 2です。8の50パーセントを求めたい場合は、0.5*8と書いてください。
  • 演算子の優先順位を読み違えること。−3^2はべき乗が先に評価されるため−9になります。9にするには(−3)^2と書きます。
  • べき乗が左結合だと思い込むこと。2^3^2は2^(3^2) = 512であり、64ではありません。

よくある質問

この関数電卓はどんな関数に対応していますか?

三角関数sin、cos、tanとその逆関数asin、acos、atan。根号sqrtとcbrt。abs。対数ln(自然対数)、log(底10)、log2。exp。丸め関数floor、ceil、round。2引数のminとmax。定数pi、e、tau。そして演算子+ − * / % ^と括弧です。これ以外のものは、ホワイトリスト方式のパーサーによって拒否されます。

度とラジアンはどうやって切り替えますか?

角度単位の選択欄を使います。度モードでは、sin、cos、tanは引数を度として解釈し、逆関数は度で結果を返します。ラジアンモードでは、数学的な既定値であるラジアンがすべてに使われます。同じ式でも2つのモードで異なる結果になります。例えば、sin(30)は度では0.5ですが、ラジアンでは約−0.988です。

この電卓はどのような演算順序を使っていますか?

標準的なPEMDASの慣例です。括弧が先、次に関数、次にべき乗(右結合)、次に単項マイナス、次に乗算・除算・剰余を左から右へ、最後に加算・減算を左から右へ処理します。したがって、1 + 2 * 3^2 = 1 + 2 * 9 = 19であり、2^3^2 = 2^9 = 512です。

式を入力しても結果が表示されないのはなぜですか?

パーサーはホワイトリストに載ったトークンしか受け付けません。よくある原因は、暗黙の乗算(2piではなく2*piと書く必要があります)、括弧の対応が取れていないこと、未知の関数名(対応する関数は固定リストです)、負の数のsqrtや無限大になる除算のような無効な計算、あるいは式が300文字を超えていることです。拒否は意図的な仕様です。この電卓は決して推測せず、任意のコードを実行することもありません。

%演算子は何をしますか?

除算の余り(モジュロ演算)を計算します。10 % 3 = 1です。10 = 3 × 3 + 1だからです。パーセントを計算するものではありません。パーセントを計算するには乗算を使ってください。80の15パーセントは0.15*80 = 12です。

式の入力欄に何を入力しても安全ですか?

はい。入力は、独自に実装されたホワイトリスト方式のトークナイザーとシャンティングヤード法による評価器で処理され、JavaScriptのevalやその他のコード実行の仕組みに渡されることは決してありません。数値、対応する関数、定数、演算子の固定ホワイトリストにないトークンがあれば、その式全体がその場で拒否されます。

参考文献

  1. ISO 80000-2:2019. Quantities and units — Part 2: Mathematics (standard notation for functions, logarithms and angular measure).
  2. Abramowitz M, Stegun IA (eds). Handbook of Mathematical Functions. National Bureau of Standards, 1964 (definitions of elementary transcendental functions).
  3. Weisstein, Eric W. 「Precedence.」 MathWorld — A Wolfram Web Resource. mathworld.wolfram.com.

基礎数学 · すべての計算ツール

関連する計算ツール