WOO logo

在这一页

Wiz Calc

在这一页

Wizard of Odds Approved

$11000

註冊獎金

$3,000

歡迎獎金

[目前]777

獎金

简介

想象一下,一台计算器不再受限于 16 位有效数字。别再幻想了,因为这款计算器可以执行大多数科学计算,精确到数百位有效数字。这真是太棒了,我们舍不得私藏,所以请尽情享受吧。

输入:

输出:

常量

命名常量

下列命名常量可用:

姓名近似值
e 2.718281828459045…
π pi 3.141592653589793…
τ tau 6.283185307179586…

数字常量

数字常量可以具有整数部分、小数部分或两者,后面还可以跟着指数部分:

  • 整数部分由一个或多个十进制数字组成

  • 小数部分由一个小数点组成.后面跟着一个或多个十进制数字

  • 指数部分由Ee组成,后跟可选的+- ,后跟一个或多个十进制数字

示例
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)
后缀第二从左到右()功能lcm(3, 4)
!阶乘4!
力量第三从右到左^指数运算2^6
前缀第四从右到左+一元加法+3
-否定-7
平方根√2
乘法第五从左到右隐式乘法2pi
*显式乘法2 * pi
/分配pi / 2
%12 % 5
添加剂最低从左到右+添加e + 1
-减法e - 1

当命名常量后紧跟一个数值常量或命名函数时,隐式乘法无法识别。例如, pi2esin4是错误的,而2pipi 2e sin 4是有效的。

功能

以下函数可用于表达式。函数名称区分大小写。

一元函数的操作数无需加括号。例如, ln 2sin sqrt 2都是有效的。当以这种方式使用时,函数名的行为相当于前缀运算符。例如, sin 2π被解析为(sin 2) × πln 2 ^ 4被解析为ln(2 4 )

四舍五入

功能描述
ceil( x )返回不小于x 的最小整数
floor( x )返回不大于x 的最大整数
int( x )返回x的整数部分
round( x )返回最接近x 的整数值
(平局部分从零开始四舍五入)
trunc( x )返回x的整数部分

根、指数和对数

功能描述
cbrt( x )返回x的立方根
exp( x )返回e x
exp2( x )返回2 x
exp10( x )返回10 x
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 )返回yx的双参数反正切
atanh( x )返回x的反双曲正切
cos( x )返回x的余弦
cosh( x )返回x的双曲余弦
cot( x )返回x的余切
coth( x )返回x的双曲余切
csc( x )返回x的余割
csch( x )返回x的双曲余割
hypot( x , y )返回xy的斜边
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 )返回xy的平均值
combin( n , k )返回从n 个项目中选择k 个项目的方法数
(二项式系数)
gcd( x , y )返回xy的最大公约数
hgd( k , n , K , N )返回从n 个项目中选择k 个项目的概率,
假设从N 个项目中选择K 个项目
interp( x , x 0 , y 0 , x 1 , y 1 )返回x的线性插值y
给定坐标 ( x 0 , y 0 ) 和 ( x 1 , y 1 )
lcm( x , y )返回xy的最小公倍数
max( x , y )返回xy的最大值
min( x , y )返回xy的最小值
nabs( x )返回x的绝对值的负数
permut( n , k )返回从n 个项目中排列k 个项目的方法数
sign( x )根据x的值返回−10+1

语法

以下类似 EBNF 的符号描述了表达式语法:

表达:
    | 加法表达式
    ;

加法表达式:
    | 乘法表达式
    | 加法表达式 '+' 乘法表达式
    | 加法表达式 '-' 乘法表达式
    ;

乘法表达式:
    | 前缀表达式
    | 乘法表达式前缀表达式
    | 乘法表达式 '*' 前缀表达式
    | 乘法表达式 '/' 前缀表达式
    | 乘法表达式 '%' 前缀表达式
    ;

前缀表达式:
    | '+' 前缀表达式
    | '-' 前缀表达式
    | '√' 前缀表达式
    | 一元函数前缀表达式
    | 权力表达
    ;

    一元函数:
        | '天花板' | '地板'
        | '整数' | '截断'
        | '圆形'
        | '平方根' | 'cbrt'
        | '表达式' | '表达式2' | '表达式10'
        | 'ln' | 'log' | 'log2' | 'log10'
        | '罪' | '阿辛' | '辛' | '阿辛' | '正弦'
        | 'cos' | 'acos' | 'cosh' | 'acosh'
        | '晒黑' | 'tanh' | 'tanh' | '阿坦' | '阿坦'
        | '秒' | 'asec' | 'sech' | 'sech' | '阿塞克'
        | 'CSC' | 'CSC' | 'acsc' | 'csch' | 'csch' | 'acsch'
        | '婴儿床' | 'acot' | 'acot' | '棉布' | '阿科斯'
        | 'abs' | 'nabs' | 'sign'
        ;

力量表达:
    | 后缀表达式
    | 后缀表达式 '^' 前缀表达式
    ;

后缀表达式:
    | 函数
    | 主表达式
    | 后缀表达式 '!'
    ;

    功能:
        | 函数名称'('参数列表')'
        ;

        函数名称:
            | '地板' | '天花板'
            | '整数' | '截断'
            | '圆形'
            | '平方根' | 'cbrt'
            | '表达式' | '表达式2' | '表达式10'
            | 'ln' | 'log' | 'log2' | 'log10'
            | '假设'
            | '罪' | '阿辛' | '辛' | '阿辛' | '正弦'
            | 'cos' | 'acos' | 'cosh' | 'acosh'
            | '晒黑' | 'tanh' | 'tanh' | '阿坦' | '阿坦' | '阿坦2'
            | '秒' | 'asec' | 'sech' | 'sech' | '阿塞克'
            | 'CSC' | 'CSC' | 'acsc' | 'csch' | 'csch' | 'acsch'
            | '婴儿床' | 'acot' | 'acot' | '棉布' | '阿科斯'
            | 'abs' | 'nabs' | 'sign'
            | '最小值' | '最大值' | '平均值'
            | '最大公约数' | '最小公倍数'
            | '组合' | '排列' | 'hgd'
            | '解释器'
            ;

        参数列表:
            | 表达式
            | 参数列表','表达式
            ;

主要表达式:
    | 常数
    | '('表达式')'
    ;

    持续的:
        | 命名常量
        | 数字常数
        ;

        命名常量:
            | 'e'
            | 'π' | '圆周率'
            | 'τ' | 'tau'
            ;

        数字常数:
            | 整数部分 [ 小数部分 ] [ 指数部分 ]
            | 小数部分 [ 指数部分 ]
            ;

            整数部分:
                | 数字 { 数字 }
                ;

                数字:
                    | '0' | '1' | '2' | '3' | '4'
                    | '5' | '6' | '7' | '8' | '9'
                    ;

            小数部分:
                | '。' 整数部分 ;指数部分: | 指数字符 [ 指数符号 ] 整数部分 ;指数字符: | 'E' | 'e' ;指数符号: | '+' | '-' ;

用途

致谢

我们要感谢MathJS为这个计算器和一些源代码提供灵感。