ToolActToolAct

電卓

三角関数、対数、指数、階乗などの科学計算機能に対応

0
DEG
計算履歴
計算履歴がありません

電卓とは?

電卓は、基本的な四則演算から高度な科学関数の計算まで対応する強力なオンライン数学計算ツールです。三角関数(sin、cos、tanとその逆関数)、対数関数(log、ln)、指数関数、累乗演算、階乗、絶対値などの豊富な数学演算機能を提供します。

この電卓は度(DEG)とラジアン(RAD)の2つのモード切り替えをサポートし、円周率πと自然対数の底eを内蔵し、メモリ機能(M+、M-、MR、MC)を提供します。すべての計算はブラウザ上でローカルに実行され、データのプライバシーを保護します。

使い方

使い方

  1. 計算機パネルの数字と演算子ボタンをクリックして数式を入力します
  2. 科学関数ボタン(sin、cos、logなど)をクリックして関数を挿入し、括弧で演算の優先順位を制御します
  3. 等号ボタンまたはEnterキーを押して計算結果が得られます。式と結果は上部に表示されます
  4. DEG/RADボタンで度/ラジアンモードを切り替え、M+/M-/MR/MCでメモリを管理します

計算のヒント

  • 三角関数を使う前にDEG/RADモードを確認してください。同じ数値でも度モードとラジアンモードでは結果が大きく異なります。
  • 複雑な式では括弧を使って演算子の優先順位を明示し、暗算の順序判断に頼らないようにしましょう。

利用シーン

ボタンまたはキーボードで科学式を評価する数字、括弧、累乗、階乗、パーセント、π、e、三角関数、対数、平方根、絶対値、指数関数を使って式を組み立てます。キーボード入力は一般的な演算子、Enterで等号、Backspace、Escapeクリアに対応しています。加算と除算が混在する長い式では暗黙の優先順位が静かに結果を変えることがあるため、パーサーの左から右のデフォルトに頼らず括弧で評価順序を強制しましょう。
度とラジアンの三角関数を切り替えるDEG/RADトグルはsin、cos、tan、逆三角関数の評価方法を変更します。度数法の角度問題を扱う学校式の計算と、ラジアンを前提とした工学や微積分の公式を行き来する場合に便利で、同じ角度がまったく異なる値として読み取られます。逆関数asin、acos、atanも現在のモードで返すため、三角関数の結果をコピーする前にモードを確認してください。
メモリと履歴で結果を再利用するメモリ操作はMC、MR、M+、M-をサポートし、最近の計算はクリック可能な履歴リストに保存されます。履歴結果を選択するとディスプレイに戻されるため、フォローアップ計算を素早く続けられます。M+とM-はメモリレジスタに上書きではなく累積されるため、中間結果を入力パネルに戻さずに一系列の値を合計する仕組みになっています。
定数と階乗を式に挿入するπまたはeボタンをタップするか、n!で階乗を入力して、順列、組み合わせ、n!のスターリング推定などの級数を評価できます。階乗関数は170以上でIEEE-754倍精度のオーバーフローを起こすほど急速に増加するため、長い組み合わせチェーンをモデル化する前にエンジンの実効上限を確認してください。DEG/RADモードは式の期待に合わせる必要があり、特に逆三角関数の結果では値をレポートにコピーする前に切り替えてください。
ライブ式フィードバックで構文エラーを検出する等号で結果を返す前に、括弧の不一致、不正な演算子、未対応のシンボルがハイライトされます。長い式で閉じ括弧が抜けていないかの確認に便利です。宿題をステップごとに確認する生業者や、数式をスプレッドシートのセルに入れる前に確認するエンジニアに特に有用です。ハイライトはパースを壊すトークンの正確な位置を指摘します。ライブチェックは sanity layer として扱い、受信側の本格的なパーサーの代替にはなりません。

仕組み

本電卓は入力に対してshunting-yardアルゴリズムによるパースを実行し、中置記法を後置キューに変換します。演算子の優先順位と累乗演算子の右結合性を正しく処理します。括弧はグループ化を強制し、単項マイナスは被演算子に畳み込まれ、piやeなどの定数の隣にある暗黙の乗算は後置パスの前に正規化され、曖昧なトークンを回避します。 数値評価はすべてIEEE 754倍精度浮動小数点で実行され、有効桁数は約15〜17桁、値の範囲は約±1.7976931348623157e308です。古典的な浮動小数点の罠がそのまま適用されます。0.1 + 0.2は0.30000000000000004と評価されます。これは両オペランドが有限な2進表現を持たないためです。また、中間結果は近い値の減算の長い連鎖で精度が失われる場合があります。 三角関数、対数関数、指数関数、平方根関数はJavaScriptのMathライブラリに委譲されます。DEG/RADスイッチはMath.sin、Math.cos、Math.tanを呼び出す前に角度にpi/180を乗算または除算し、逆関数は結果に対して逆変換を行います。階乗は反復積を使用するため、170!は倍精度の天井付近の約7.257e+306であり、171!はInfinityにオーバーフローします。

  • Shunting-yardパーサー: 中置記法を後置記法に変換。優先順位を正しく処理(^は右結合、単項マイナスは被演算子に畳み込み)
  • IEEE 754倍精度: 有効桁数約15〜17桁、最大値約1.79e+308。古典的な例: 0.1 + 0.2 = 0.30000000000000004
  • DEG/RAD変換: Math.sin/cos/tanの呼び出し前に角度をpi/180でスケーリング。逆関数は結果に対してスケーリングを逆転
  • 階乗のオーバーフロー境界: 170!は約7.257e+306、171!はJavaScriptの数値型でInfinityを返す
  • 内蔵定数: Math.PI(3.141592653589793)とMath.E(2.718281828459045)はトークンとして挿入され、毎回再パースされない
  • 超越関数: Math.logは自然対数(ln)、Math.log10は常用対数、Math.exp(x)はe^xを計算、Math.powはx^yを処理
  • メモリレジスタ: M+ / M-は単一の数値変数に累積。MRは入力にリテラルとしてプッシュバックし、MCはゼロにリセット

使用例

三角関数(度数法 vs 弧度法)

モード: DEG
sin(30)  = 0.5
cos(60)  = 0.5
tan(45)  = 1

モード: RAD
sin(pi/4)  = 0.70710678
cos(pi)    = -1
tan(pi/3)  = 1.73205081

対数・指数・e と pi

log(1000)    = 3        (常用対数 底10)
ln(e)        = 1        (自然対数)
exp(1)       = 2.71828183
e^2          = 7.389056
2^10         = 1024
pi * 2       = 6.28318531

階乗と組み合わせ

5!    = 120
10!   = 3628800
170!  = 7.257e+306    (IEEE-754 オーバーフロー直前の最大値)
171!  = Infinity

C(52,5) = 52!/(5!*47!) = 2598960  (ポーカーの手の組み合わせ数)

メモリーキー: 累計計算

手順1: 125.50 を入力し M+ を押す   -> メモリ = 125.50
手順2: 89.99 を入力し M+ を押す    -> メモリ = 215.49
手順3: 12.00 を入力し M- を押す    -> メモリ = 203.49
手順4: MR を押す                  -> 表示 = 203.49
用途: 小計を打ち直さずにレシートの金額を集計

よくある質問

どのような関数がサポートされていますか?

標準的な四則演算、括弧、平方根とべき根、累乗、対数(log は底 10、ln は自然対数)、指数関数、三角関数(sin/cos/tan とその逆関数)、双曲線関数、階乗、剰余、絶対値、定数 π と e。一部のバージョンでは統計補助関数(平均、標準偏差)も含まれます。

角度はラジアンと度のどちらですか?

モード切り替えがあり、デフォルトは度です。度モードでは sin(30°) = 0.5、ラジアンモードでは sin(30) ≈ −0.988 となります。現在のモードは画面に表示されているので、三角関数の計算前に必ず確認してください。

なぜ 0.1 + 0.2 がちょうど 0.3 にならないのですか?

JavaScript は IEEE 754 倍精度浮動小数点数を使用しています。0.1 と 0.2 は 2 進数で正確に表現できないため、0.1 + 0.2 = 0.30000000000000004 となります。電卓は表示時に丸めて隠していますが、超越関数の計算で極端な十進精度を得ることはできません。

長い式を評価するには?

式全体を入力してください。パーサーは演算子の優先順位と括弧を尊重します。2*3+4^2 ではなく 2*(3+4)^2 のように書いてください。関数に隣接する暗黙の乗算(例:2sin(30))はパーサーによっては動作しない場合があるため、* を明示的に挿入する方が常に安全です。

複素数や記号代数は扱えますか?

いいえ。これは数値計算用の関数電卓です。複素数、記号微分、方程式の解法には Wolfram Alpha、GeoGebra、または SymPy のような CAS をご利用ください。

計算はローカルで行われますか?

はい。式の解析と評価はすべてブラウザ内で行われます。アップロードはありません。履歴がある場合は localStorage に保存され、サイトデータを消去するとクリアされます。

科学関数の精度はどの程度ですか?

標準的な JavaScript の Math 関数は約 15〜17 桁の十進精度を提供します。エンジニアリング用途には十分ですが、高精度な記号数学には足りません。任意精度が必要な場合は decimal.js のようなライブラリや CAS を使ってください。