想像一下,一台計算器不再受限於 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) |
| 後綴 | 第二高 | 從左到右 | () | 功能 | lcm(3, 4) |
! | 階乘 | 4! | |||
| 力量 | 第三高 | 從右到左 | ^ | 指數運算 | 2^6 |
| 前綴 | 第四高 | 從右到左 | + | 一元加法 | +3 |
- | 否定 | -7 | |||
√ | 平方根 | √2 | |||
| 乘法 | 第五高 | 從左到右 | 隱式乘法 | 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的以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的雙參數反正切 |
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 , x 0 , y 0 , x 1 , y 1 ) | 傳回x的線性插值y值 給定座標 ( x 0 , y 0 ) 和 ( x 1 , y 1 ) |
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 的符號描述了表達式語法:
表達:
| 加法表達式
;
加法表達式:
| 乘法表達式
| 加法表達式 '+' 乘法表達式
| 加法表達式 '-' 乘法表達式
;
乘法表達式:
| 前綴表達式
| 乘法表達式前綴表達式
| 乘法表達式 '*' 前綴表達式
| 乘法表達式 '/' 前綴表達式
| 乘法表達式 '%' 前綴表達式
;
前綴表達式:
| '+' 前綴表達式
| '-' 前綴表達式
| '√' 前綴表達式
| 一元函數前綴表達式
| 權力表達
;
一元函數:
| '天花板' | '地板'
| '整數' | '截斷'
| '圓形'
| '平方根' | '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' ;指數符號: | '+' | '-' ;
