関数電卓

アプリをインストールせずに、日常的な計算から三角関数・対数・べき乗などの関数計算までをブラウザ内で行えます。画面上のボタンで数字・演算子・括弧・π・e・sin・log・平方根などを入力すると、計算結果を表示部に出力します。

ブラウザ内でローカルに実行

キーパッドの使い方

四則演算・三角関数・対数・階乗に加えて、4 つの基数と、ふつうは別のプログラマー電卓に入っているビット演算までを 1 つのキーパッドで扱えます。

計算はページ内で完結するため、入力した数値はどこにも送信されません。

  1. 1 行目で基数を、続いて三角関数キーが前提とする角度単位(度またはラジアン)を選びます。
  2. 画面上のキーで式を入力します。キーの上にある括弧欄には、開いたままの括弧の数が出ます。
  3. = を押すと計算します。答えの出ない演算では警告が出て、表示はそのまま残ります。
  4. sin・cos・tan を押す前に「逆関数」「双曲線関数」をオンにすると、その奥にあるキーに切り替わります。

キーパッドの各部分の役割

基数

基数を切り替えると、表示されている値そのものが変換されます。16 進数の状態で 255 を入力して 10 進数へ切り替えると 597、10 進数で 255 を入力して 16 進数へ切り替えると ff になります。小数も往復できます。10 進数の 2.5 は 16 進数で 2.8 になり、戻すと 2.5 です。

科学計算用のキーは小数を必要とするため、π・e・d.ms・sin・cos・tan と小数点は 10 進数のときだけ使えます。2 進数では 0 と 1 と演算子だけが残り、8 進数ではさらに 0〜7 の数字、16 進数では A〜F が加わります。画面には基数を示す印がないので、どの基数で読むべきかを示すのは選択されているラジオボタンだけです。

角度単位と 2 つの機能レイヤー

「度」と「ラジアン」の選択は、sin・cos・tan が表示値をどちらとして読むか、また asin・acos・atan が結果をどちらで書き戻すかを決めます。度では sin 90 が 1、asin 1 が 90 です。ラジアンでは同じキーが 0.8939966636005579 と 1.5707963267948966 を返します。

「逆関数」と「双曲線関数」は重ねて使え、それぞれが対象のキーの名前を変えます。sin は asin、さらに hsin、両方をオンにすると asinh(表示は ahs)になります。同じスイッチで立方キーは x^(1/3)、ln は exp、log は expd に変わります。双曲線のキーは角度単位の影響を受けません(sinh 1 はどちらのモードでも 1.1752011936438014)。acosh は 1 以上、atanh は絶対値が 1 未満の値にだけ答えます。

度分秒・メモリ・消去

d.ms は表示を詰め込んだ 10 進数として書き換えます。45.5 は 45.3、つまり 45°30′ です。「逆関数」をオンにするとこのキーは deg になり、45.3 は 45.5 に戻ります。変換後の値は書式付きの文字列ではなく、表示欄に入ったふつうの数値です。

MS は表示値を記憶し、MR は呼び出し、M+ と M× は表示値を記憶値に反映し、MC は消去します。キーパッド上の M 欄は記憶値があることを示します。CE は入力中の数だけを消して保留中の演算は残すので、5 + 3、CE、2 = は 7 になります。AC は式・保留中の演算子・開いた括弧を消しますが、メモリには触れません。

精度・上限・答えが出ないとき

計算エンジンは JavaScript の倍精度浮動小数点数なので、その影響が出ます。0.1 + 0.2 は 0.30000000000000004、cos 90° は 0 ではなく 6.123233995736766e-17 です。階乗は 171 で桁あふれし、170! は 7.257415615308004e+306、171! は Infinity になります。NOT・AND・OR・XOR・LSH は 32 ビット符号付き整数で動くため、NOT 0 は -1、1 LSH 31 は負の値になります。FLOOR は 0 方向ではなく負の無限大方向へ丸めるので、FLOOR -7.9 は -8、FLOOR 7.9 は 7 です。切り替え後の FRAC は小数点以下を返します。

答えのない演算では、NaN を書き込む代わりに警告を出して表示をそのまま残します。0 による除算、0 による剰余、0 の 1/x、負の数の平方根、負または小数の階乗がこれにあたります。表示欄は出力専用で、数値は必ずキーパッドから入力します。押した内容がアップロードされることもありません。

最近使ったツール: