作成日:2023-07-05 更新日: 2023-10-08
calc はブラウザ上で使える JavaScript 製関数電卓です。主な機能は以下の通りです。
計算部分のソースコードは GitHub で公開しています。github.com/geminos-panjan/calc
キーボード入力、ボタン入力に対応しています。キーボード入力を開始するには入力フォームの「>」の右側をタップしてください。ボタン入力で使用するボタンには関数電卓配列と QWERTY 風配列があり、切り替えて使用できます。
関数電卓配列
QWERTY 風配列
前回の計算結果を意味する ans を入力します。
Backspace ボタンです。右端から 1 文字消去します。
Clear ボタンです。1 行すべて消去します。キーボード入力の場合、Shift+Backspace で同じ動作をします。
Enter ボタンです。入力されている数式を履歴バッファに追加し、新しい数式を入力します。エラーが出ているときは実行できません。
整数、小数、指数表記、二進数、十六進数に対応しています。上限・下限や有効桁数は JavaScript の仕様に準じます。
例. 0, 100, -20
例. 0.01, -3.5
AeB または AEB で A かける 10 の B 乗を表します。
例. 1e3 = 1000, -3.4E-2 = -0.034
0b または 0B で二進数を表します。
例. 0b0101, 0B1010
0x または 0X で十六進数を表します。a-f は小文字大文字ともに使えます。
例. 0xF6, 0x0a
""または''で囲んで文字列を表します。
使用できる演算子の一覧を優先度が高い順に記載します。優先度が高い演算子は数式中で先に計算されます。優先度が同じ場合は左から順番に計算されます。
優先度 | 演算子 | 名前 | 例 |
---|---|---|---|
1 | ~ | ビット否定 | ~0x1 = 0xfffffffe |
1 | + | プラス符号 | +1 = 1 |
1 | - | マイナス符号 | -1 = -1 |
2 | ** | べき乗 | 2 ** 3 = 8 |
3 | * | 乗算 | 2 * 3 = 6 |
3 | / | 除算 | 4 / 2 = 2 |
3 | // | 整数除算 | 1 // 2 = 0 |
3 | \ | 左除算 | 2 \ 4 = 2 |
3 | % | 剰余 | 11 % 7 = 4 |
4 | + | 加算 | 1 + 2 = 3 |
4 | - | 減算 | 3 - 1 = 2 |
5 | << | 左ビットシフト | 0b1 << 2 = 0b100 |
5 | >> | 右ビットシフト | 0b1000 >> 2 = 0b0010 |
6 | & | ビット AND | 0b0101 & 0b0110 = 0b0100 |
7 | ^ | ビット XOR | 0b0101 ^ 0b0110 = 0b0011 |
8 | | | ビット OR | 0b0101 | 0b0110 = 0b0111 |
べき乗演算子は上付き文字が使えない環境では^を使うことが多いですが、JavaScript や Python などでは**を使っているのに加え、^はビット XOR で使うので**としました。 また、べき乗演算は環境によって左結合(左から順番に計算する)の場合と右結合(右から順番に計算する)の場合がありますが、JavaScript では右結合であるためそれに従いました。まあ、べき乗に限らず明示的に括弧を付ければ済む話な気もしますが。
定数リファレンスを参照してください。
関数リファレンスを参照してください。
出力形式をボタンで切り替えることができます。
十進数で出力します。
指数表記で出力します。
二進数で出力します。
十六進数で出力します。
SI 接頭辞を使って出力します。例えば、1000 は 1k として出力されます。p(ピコ、1e-12)から T(テラ、1e12)まで対応しています。0.001p 未満は指数表記で出力されます。
アルファベットを入力すると、その文字から始まる定数または関数のリストが表示されます。入力したいものをクリックすると置換されます。