WOO logo

На этой странице

Wiz Calc

На этой странице

Wizard of Odds Approved

[ОТПРАВИТЬ]11000

БОНУС ЗА РЕГИСТРАЦИЮ

[ОТПРАВИТЬ]3000

Приветственный бонус

$777

БОНУС

Введение

Представьте себе калькулятор, который не ограничен числом значащих цифр менее 16. Мечтать больше не нужно, ведь этот калькулятор выполнит большинство научных функций с точностью до сотен значащих цифр. Это было слишком хорошо, чтобы держать это в секрете, поэтому, пожалуйста, наслаждайтесь.

Вход:

Выход:

Константы

Именованные константы

Доступны следующие именованные константы:

Имя (имена) Приблизительное значение
e 2.718281828459045…
π pi 3.141592653589793…
τ tau 6.283185307179586…

Числовые константы

Числовая константа может иметь целую часть, дробную часть или обе части, за которыми, при необходимости, следует показатель степени:

  • Целая часть состоит из одной или более десятичных цифр.

  • Дробная часть состоит из десятичной запятой . за которой следует одна или несколько десятичных цифр.

  • Показатель степени состоит из E или e , за которым, при необходимости, следуют + или - , а затем одна или несколько десятичных знаков.

Примеры
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(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.
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, состоящий из двух аргументов.
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 ) возвращает количество способов выбрать k элементов из n элементов.
(биномиальный коэффициент)
gcd( x , y ) возвращает наибольший общий делитель x и y.
hgd( k , n , K , N ) Возвращает вероятность выбора k элементов из n элементов.
при условии, что K элементов выбираются из N элементов
interp( x , x 0 , y 0 , x 1 , y 1 ) возвращает линейно интерполированное значение y для x.
даны координаты ( x₀ , y₀ ) и ( x₁ , y₁ ) .
lcm( x , y ) возвращает наименьшее общее кратное x и y.
max( x , y ) возвращает максимум из x и y
min( x , y ) возвращает минимум из x и y
nabs( x ) возвращает отрицательное абсолютное значение x
permut( n , k ) возвращает количество способов расположить k элементов из n элементов.
sign( x ) возвращает −1 , 0 или +1 в зависимости от значения x.

Синтаксис

Следующая нотация, подобная EBNF, описывает синтаксис выражений:

выражение :
    | аддитивное выражение
    ;

аддитивное выражение :
    | мультипликативное выражение
    | аддитивное выражение '+' мультипликативное выражение
    | аддитивное выражение '-' мультипликативное выражение
    ;

мультипликативное выражение :
    | префиксное выражение
    | префиксное выражение мультипликативного выражения
    | мультипликативное выражение '*' префиксное выражение
    | мультипликативное выражение '/' префиксное выражение
    | мультипликативное выражение '%' префиксное выражение
    ;

префиксное выражение :
    | '+' префиксное выражение
    | '-' префиксное выражение
    | '√' префиксное выражение
    | префиксное выражение унарной функции
    | выражение силы
    ;

    унарной функции :
        | 'потолок' | 'пол'
        | 'int' | 'trunc'
        | 'круглый'
        | 'sqrt' | 'cbrt'
        | 'exp' | 'exp2' | 'exp10'
        | 'ln' | 'log' | 'log2' | 'log10'
        | 'грех' | 'асин' | 'синь' | 'асинх' | 'с тех пор'
        | 'cos' | 'acos' | 'cosh' | 'acosh'
        | 'загар' | 'тан' | 'атан' | 'атан'
        | 'сек' | 'асек' | 'сеч' | 'асеч'
        | 'csc' | 'acsc' | 'КШ' | 'акш'
        | 'детская кроватка' | 'акот' | 'кот' | 'акот'
        | 'abs' | 'nabs' | 'sign'
        ;

выражение мощности :
    | постфиксное выражение
    | постфиксное выражение '^' префиксное выражение
    ;

постфиксное выражение :
    | функция
    | первичное выражение
    | постфиксное выражение '!'
    ;

    функция :
        | function-name '(' argument-list ')'
        ;

        function-name :
            | 'пол' | 'потолок'
            | 'int' | 'trunc'
            | 'круглый'
            | 'sqrt' | 'cbrt'
            | 'exp' | 'exp2' | 'exp10'
            | 'ln' | 'log' | 'log2' | 'log10'
            | 'гипотеза'
            | 'грех' | 'асин' | 'синь' | 'асинх' | 'с тех пор'
            | 'cos' | 'acos' | 'cosh' | 'acosh'
            | 'загар' | 'тан' | 'атан' | 'атан' | 'атан2'
            | 'сек' | 'асек' | 'сеч' | 'асеч'
            | 'csc' | 'acsc' | 'КШ' | 'акш'
            | 'детская кроватка' | 'акот' | 'кот' | 'акот'
            | 'abs' | 'nabs' | 'sign'
            | 'мин' | 'макс' | 'средний'
            | 'gcd' | 'lcm'
            | 'combin' | 'permut' | 'hgd'
            | 'интерп'
            ;

        список аргументов :
            | выражение
            | argument-list ',' expression
            ;

первичное выражение :
    | константа
    | '(' выражение ')'
    ;

    постоянный :
        именованная константа
        | числовая константа
        ;

        именованная константа :
            | 'е'
            | 'π' | 'пи'
            | 'τ' | 'тау'
            ;

        числовая константа :
            | целочисленная часть [ дробная часть ] [ показатель степени ]
            | дробная часть [ показательная часть ]
            ;

            целочисленная часть :
                | цифра { цифра }
                ;

                цифра :
                    | '0' | '1' | '2' | '3' | '4'
                    | '5' | '6' | '7' | '8' | '9'
                    ;

            дробная часть :
                | '.' integer-part ; exponent-part : | exponent-char [ exponent-sign ] integer-part ; exponent-char : | 'E' | 'e' ; exponent-sign : | '+' | '-' ;

использует

Благодарности

Мы хотели бы поблагодарить MathJS за вдохновение, которое послужило основой для этого калькулятора и части исходного кода.