Simeji用のマッシュルームです。(Simejiを用いずに単独でも使用できます)
変換中の文字列、またはクリップボードから演算式を入力することでごく簡単な計算をすることができます。
括弧付き四則演算とAND(&)、OR(|)、XOR(^)、NOT(~)、左シフト(<<)、右シフト(>>)の論理演算ができます。
また数値には10進数のほかに16進数(h)、8進数(o)、2進数(b)、キャラクター('c')を使うことができます。
その他に以下の簡単な関数があります。
b(n) nを2進数に変換します。
o(n) nを8進数に変換します。
h(n) nを16進数に変換します。
a(n) nをcodePointとするキャラクターに変換します。
m(n, v) n番目のメモリーに値vを記録します。(nは0から9まで)
mr(n) n番目のメモリーの値を呼び出します。(nは0から9まで)
sqr(n) 平方根を求めます。
sin(n) 正弦を求めます。(nは度)
cos(n) 余弦を求めます。(nは度)
tan(n) 正接を求めます。(nは度)
ln(n) eを底とする対数を求めます。
log(n) 10を底とする対数を求めます。
round(n) nを丸めたものを求めます。(四捨五入します)
pow(n,m) nのm乗を求めます。
【制限・制約など】
演算は基本的にJavaのdoubleと同じ制約を受けます。
論理演算時には強制的にintに変換されます。
右シフト演算子は上位ビットを保存しません。(Javaの>>>相当)
b(n)、o(n)、h(n)、a(n)の結果を次の演算に用いることはできません。(演算の最後にしか使用できません)
【実際の使用例】
5 + 2
(5 - 2) * 4
100h / 128
ffffh ^ ffh
b(3 << 2)
h(64 * 4)
m((3 + 2), 5)
mr(5) + 5
a('A' + 3)
'A' + 3