こでは16桁未満の有効数字に制限がない計算機をご紹介します。この計算機はほとんどの関数を有効数字数百桁まで実行します。ぜひこれをお楽しみください。
入力値:
出力値:
定数定義▼
名前付き定数▼
以下の名前付き定数を使用できます:
| 名前 | おおよその値 | |
|---|---|---|
e |
2.718281828459045… | |
π |
pi |
3.141592653589793… |
τ |
tau |
6.283185307179586… |
数値定数▼
数値定数には整数部分、小数部分、それら両方を含めることができるオプション後に指数部分として続けることができます:
- 整数部分は1以上の10進数で構成されます。
- 小数部分は基数点で構成された後に1以上の10進数が続きます。
- 指数部分はE または eで構成されており、オプションでは+または-の後に1以上の10進数が続きます。
| 例 | ||
|---|---|---|
1 |
.5 |
1.5 |
1e2 |
.5e2 |
1.5e2 |
1E2 |
.5E2 |
1.5E2 |
1e+2 |
.5e+2 |
1.5e+2 |
1E+2 |
.5E+2 |
1.5E+2 |
1e-2 |
.5e-2 |
1.5e-2 |
1E-2 |
.5E-2 |
1.5E-2 |
演算子▼
以下の演算子を式で使用することができます:
| カテゴリー | 優先順位 | 結合規則 | 演算子 | ディスクリプション | 例 |
|---|---|---|---|---|---|
| プライマリー | 最高位 | なし | () |
正規表現 | (1 + e) |
| ポストフィックス | 2 番目に高い | 関数 | () |
階乗 | lcm(3, 4) |
! |
階乗 | 4! |
|||
| パワー | 3 番目に高い | 右から左 | ^ |
冪乗 | 2^6 |
| プレフィックス | 4 番目に高い | 右から左 | + |
単項プラス | +3 |
- |
否定 | -7 |
|||
√ |
平方根 | √2 |
|||
| マルチプリケイティブ | 5 番目に高い | 左から右 | 陰関数 | 2pi |
|
* |
積の法則 | 2 * pi |
|||
/ |
除法 | pi / 2 |
|||
% |
残余 | 12 % 5 |
|||
| アディクティブ | 一番低い | 左から右 | + |
加法 | e + 1 |
- |
引き算 | e - 1 |
名前付き定数の直後に数値定数または名前付き関数が続く場合のマルチプリケイティブは認識されません。例えば、 pi2 と esin4 はエラーになりますが 2pi、 pi 2、 e sin 4 は有効です。
関数▼
次の関数を式で使用できますが、関数では大文字と小文字が区別されます。
単項関数のオペランドを括弧で囲む必要はありません。例えば ln 2 と sin sqrt 2 は有効ですが、この方法で使用すると関数名はプレフィックス演算子として機能します。例えば、 sin 2π は (sin 2) × π として解析されて ln 2 ^ 4 は ln(24)として解析されます。
端数処理▼
| 関数 | ディスクリプション |
|---|---|
ceil(x) |
x以上の最小整数をリターン |
floor(x) |
x以下の最大整数をリターン |
int(x) |
xの整数部分をリターン |
round(x) |
xに最も近い整数値をリターン (同じ数は0から四捨五入) |
trunc(x) |
xの整数部分をリターン |
立方根、指数、対数▼
| 関数 | ディスクリプション |
|---|---|
cbrt(x) |
xの立方根をリターン |
exp(x) |
exをリターン |
exp2(x) |
2xをリターン |
exp10(x) |
10xをリターン |
ln(x) |
xの自然対数をリターン |
log(x, b) |
xの b を底とする対数をリターン |
log2(x) |
xの 2 を底とする対数をリターン |
log10(x) |
xの 10 を底とする対数をリターン |
sqrt(x) |
xの平方根をリターン |
三角法▼
| 関数 | ディスクリプション |
|---|---|
acos(x) |
xの逆余弦をリターン |
acosh(x) |
xの逆双曲線余弦をリターン |
acot(x) |
xの逆余接をリターン |
acoth(x) |
xの逆双曲線余接をリターン |
acsc(x) |
xの逆正割をリターン |
acsch(x) |
xの逆双曲線余割をリターン |
asec(x) |
xの逆正割をリターン |
asech(x) |
xの逆双曲線正割をリターン |
asin(x) |
xの逆正弦をリターン |
asinh(x) |
xの逆双曲線正弦をリターン |
atan(x) |
xの逆正接をリターン |
atan2(y, x) |
y と xの2つの引数の逆正接をリターン |
atanh(x) |
xの逆双曲線正接をリターン |
cos(x) |
xのコサインをリターン |
cosh(x) |
xの双曲線余弦をリターン |
cot(x) |
xのコタンジェントをリターン |
coth(x) |
xの双曲線余接をリターン |
csc(x) |
xのコセカントをリターン |
csch(x) |
xの双曲線コセカントをリターン |
hypot(x, y) |
x と yの斜辺をリターン |
sec(x) |
xの正割をリターン |
sech(x) |
xの双曲線正割をリターン |
sin(x) |
xの正弦をリターン |
sinc(x) |
xの基本正弦をリターン |
sinh(x) |
xの双曲線正弦をリターン |
tan(x) |
xのタンジェントをリターン |
tanh(x) |
xの双曲線正接をリターン |
雑則▼
| 関数 | ディスクリプション |
|---|---|
abs(x) |
xの絶対値をリターン |
avg(x, y) |
x と yの平均をリターン |
combin(n, k) |
n 個の項目からk個の項目を選択する方法の数をリターン (二項係数) |
gcd(x, y) |
x と yの最大公約数をリターン |
hgd(k, n, K, N) |
n 個の項目からk個の項目を選択する確率をリターン N 個の項目から K 個の項目が選択されたと考慮した場合 |
interp(x, x0, y0, x1, y1) |
xに対して線形補間された y 値をリターン (x0, y0)と(x1, y1)が与えられた考慮した場合 |
lcm(x, y) |
x と yの最小公倍数をリターン |
max(x, y) |
x と yの最大値をリターン |
min(x, y) |
x と yの最小値をリターン |
nabs(x) |
xの絶対値を否定してリターン |
permut(n, k) |
n 個の項目から k 個の項目を配置する方法の数をリターン |
sign(x) |
xの値に応じて −1、 0、 +1 をリターン |
構文▼
次のEBNFに似た表記は式の構文を示しています:
expression:
| additive-expression
;
additive-expression:
| multiplicative-expression
| additive-expression '+' multiplicative-expression
| additive-expression '-' multiplicative-expression
;
multiplicative-expression:
| prefix-expression
| multiplicative-expression prefix-expression
| multiplicative-expression '*' prefix-expression
| multiplicative-expression '/' prefix-expression
| multiplicative-expression '%' prefix-expression
;
prefix-expression:
| '+' prefix-expression
| '-' prefix-expression
| '√' prefix-expression
| unary-function prefix-expression
| power-expression
;
unary-function:
| 'ceil' | 'floor'
| 'int' | 'trunc'
| 'round'
| 'sqrt' | 'cbrt'
| 'exp' | 'exp2' | 'exp10'
| 'ln' | 'log' | 'log2' | 'log10'
| 'sin' | 'asin' | 'sinh' | 'asinh' | 'sinc'
| 'cos' | 'acos' | 'cosh' | 'acosh'
| 'tan' | 'tanh' | 'atan' | 'atanh'
| 'sec' | 'asec' | 'sech' | 'asech'
| 'csc' | 'acsc' | 'csch' | 'acsch'
| 'cot' | 'acot' | 'coth' | 'acoth'
| 'abs' | 'nabs' | 'sign'
;
power-expression:
| postfix-expression
| postfix-expression '^' prefix-expression
;
postfix-expression:
| function
| primary-expression
| postfix-expression '!'
;
function:
| function-name '(' argument-list ')'
;
function-name:
| 'floor' | 'ceil'
| 'int' | 'trunc'
| 'round'
| 'sqrt' | 'cbrt'
| 'exp' | 'exp2' | 'exp10'
| 'ln' | 'log' | 'log2' | 'log10'
| 'hypot'
| 'sin' | 'asin' | 'sinh' | 'asinh' | 'sinc'
| 'cos' | 'acos' | 'cosh' | 'acosh'
| 'tan' | 'tanh' | 'atan' | 'atanh' | 'atan2'
| 'sec' | 'asec' | 'sech' | 'asech'
| 'csc' | 'acsc' | 'csch' | 'acsch'
| 'cot' | 'acot' | 'coth' | 'acoth'
| 'abs' | 'nabs' | 'sign'
| 'min' | 'max' | 'avg'
| 'gcd' | 'lcm'
| 'combin' | 'permut' | 'hgd'
| 'interp'
;
argument-list:
| expression
| argument-list ',' expression
;
primary-expression:
| constant
| '(' expression ')'
;
constant:
| named-constant
| numeric-constant
;
named-constant:
| 'e'
| 'π' | 'pi'
| 'τ' | 'tau'
;
numeric-constant:
| integer-part [ fraction-part ] [ exponent-part ]
| fraction-part [ exponent-part ]
;
integer-part:
| digit { digit }
;
digit:
| '0' | '1' | '2' | '3' | '4'
| '5' | '6' | '7' | '8' | '9'
;
fraction-part:
| '.' integer-part
;
exponent-part:
| exponent-char [ exponent-sign ] integer-part
;
exponent-char:
| 'E'
| 'e'
;
exponent-sign:
| '+'
| '-'
;
謝辞
この計算機とソースコードの一部にインスピレーションを与えてくれた MathJS に感謝します。
