Представьте себе калькулятор, который не ограничен числом значащих цифр менее 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 : | '+' | '-' ;
