Endo Scientific Calculator
技術的仕様
精度
本機は,内部的にはandroid SDKのjava数値計算ライブラリを使用しており,IEEE 754準拠の倍精度変数で計算を行っています.したがって仮数精度は16桁です.
表示精度は解表示部1行に収まるように丸められるため,F表示,E表示ともに9桁です.内部的には倍精度変数の値を保ちますので,以降の計算精度への影響はありません.
取り扱い可能な数値は0と±10-100~10100(指数部2桁)の範囲です.絶対値が10-100か,それより小さい数値はゼロとみなされ,絶対値が10100か,それより大きい数値が解として得られるときはMath Errorを返します.
演算の優先順位
演算子は下記の優先順位で評価されます.
1 |
括弧 ※文法的に意味をなさなくとも,括弧は最優先されますので結果的にSyntax Errorになることもあります. [( ] [ )] |
2 |
座標変換 ※座標変換を他の演算子と組み合わせることはできません. 例:Pol(2, 3)×4 不可 座標をある関数の戻り値とすることは可能です. 例:Pol(2A, 3sin(30)) 可 |
3 |
単体では意味をなさない要素 [o ' "] [E] |
4 |
数値の前のマイナス記号 ※数値の前のマイナス記号が「演算子と考えられない位置にあるとき」は,「これがマイナスの数値である」ことを示す記号と解釈され,負号とは区別されます. 例:[-] [2] [x2] [=] 答:4 (先頭の[-]は演算子ではあり得ないのでこれは「-2の2乗」と解釈される) 例:[2] [×] [-] [2] [x2] [=] 答:8 (演算子の連続は考えられないため[-]を負号と解釈) 以下の様な場合は,マイナス記号は「マイナス演算子」と解釈されます. 例:[2] [-] [2] [x2] [=] 答:-2 ([-]をマイナスと解釈すると演算子が消えてしまうため) |
4 |
前置型関数 [!] [x2] [x-1] [y√x] |
5 |
べき乗,べき乗根の後ろ [xy] [y√x] ※べき乗根は前後に引数を取る関数です.前方の結合は優先順位4,後方の結合は優先順位5です. |
6 |
省略された乗算 3π,2Aなど 数値および変数と,引数を後ろに取る関数の間の省略された乗算 Asin(30)など |
7 |
後置型関数 [√] [sin] [cos] [tan] [log] [exp]など |
8 |
乗算,除算 [×] [÷] |
9 |
加算,減算 [+] [-] |
後置型関数が連続しているときは,見えない括弧があると解釈して入力が右から左へ向かって計算され,それ以外は左から右へ向かって計算していきます.
例:[sin] [cos] [ln] [1] → sin(cos(ln(1)))
いくつかの例:
・6÷2(1+2)=1
(1+2)がまず解釈され,続いて省略された乗算2が計算される.
・A=3,B=10のときsinAB=0.5(degモード)
ABの結合よりsinAの結合が弱いので,先にAB=30,続いてsin30=0.5が計算される.
・A=3,B=2のときAB2=12
この場合は,逆にB2=4が先に計算され,続いてAが掛かる.
・A=2のとき,√2A=4,√2×A=2
√は後ろに引数を取る関数の一種なので,括弧を使わない場合「すぐ後ろの一つの数値,あるいは変数のみを引数に取る」ルールが適用される.忘れがちなのは,「一つの数値」には「省略された乗算」で結合された数値と変数の組み合わせも含むことである.
物理定数は,CODATA 2014の値を採用しています.
c |
真空の光速度 299792458 [m/s] (定義値) |
μ0 |
真空の透磁率 4π×10-7 [H/m] (定義値) |
ε0 | 真空の誘電率 1/(μ0c2) [F/m] (定義値) |
h |
プランク定数 6.626070040×10–34 [Js] |
NA |
アボガドロ数 6.022140857×1023 [mol-1] |
G |
万有引力定数 6.67408×10–11 [Nm2/kg2] |
kB |
ボルツマン定数 1.38064852×10–23 [J/K] |
R |
気体定数 kBNA [J/(K mol)] |
e |
素電荷 1.6021766208×10–19 [C] |
me |
電子質量 9.10938356×10–31 [kg] |
π |
円周率 Math.PI (IEEE754の精度) (3.141592653589793) |
e |
ネイピア数 Math.E (IEEE754の精度) (2.718281828459045) |
πはファンクションキーに割り当てられているのでそのまま利用できます.eを直接利用するには,指数e1を計算して下さい.