このページ

Wiz Calc

Wizard of Odds Approved
$11000 SIGN UP BONUS
プレイ
250% Welcome Bonus
プレイ
$3,000 Welcome Bonus
プレイ

概要

こでは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:
                    | '+'
                    | '-'
                    ;

uses

謝辞

この計算機とソースコードの一部にインスピレーションを与えてくれた MathJS に感謝します。