電卓

NyanFi

電卓

Calculator コマンドを実行すると電卓が開きます。また、多くの入力欄の右クリックメニューからも利用できます。
入力欄に計算式を入力し、ENTERキーを押してください。結果が表示され、下の履歴コンボボックスに計算式が追加されます。計算操作は、履歴コンボボックス側でも同様に行えます。
なお入力欄と履歴コンボボックスのフォントは、オプション設定 - フォント・配色 - フォント の「電卓」で指定できます。

計算式
計算式では以下の表現が使えます。
10進整数実数
カンマが含まれていてもかまいません。
 : 1,234*12 = 14,808
実数では指数表記も使えます。
 : 1.23456E-10*2E+3 = 2.46912E-07
自然数の末尾に ! があると、階乗になります。
 : 20! = 2432902008176640000
16進整数
"0x" で始まる数値は、16進数とみなされます。式中の数値が全て16進表記の場合は、答えも16進表記になります。
 : 0x100+0xff = 0x1ff
単独の整数を入力すると、16進/10進が交互に変換されます(ツールボタンでも可能)。
 : 0x7fff = 32767
時間
hh:mm:ss または hh:mm は時間と見なします(内部では秒数に変換して処理)。
hh は24以上になってもかまいません。
 : 10:14:40+15:10:20 = 25:25:00
演算によって次元が変わらない場合、結果も時間表記になります(秒以下は四捨五入)。
 : 24:00/7 = 3:25:43

括弧
(、) を多重に使えます。
 : (((1+2)*(3+4))+((5+6)*(7+8)))*9 = 1674

二項演算子
+加算
-減算
*乗算
/除算
%剰余 (左項を右項で割った余り)
^左項(底)を右項(指数)でべき乗 (^0.5にすれば平方根になります)
& または andビット単位のAND (整数に対してのみ有効)
xorビット単位のXOR (整数に対してのみ有効)
| または orビット単位のOR (整数に対してのみ有効)
特殊機能
gcd二つの整数の最大公約数
lcm二つの整数の最小公倍数
andxororgcdlcm については必ず前後に空白を入れてください。大文字・小文字は区別されません。
その他の演算子については、前後に空白があってもなくてもかまいません。
 :
 (3^2 + 4^2)^0.5 = 5
 (0xaa|0x55) xor 0x0f = 0xf0
 (27 gcd 36) * (27 lcm 36) = 972

関数
sincostan 三角関数
asinacosatan 逆三角関数
sinhcoshtanh 双曲線関数
log 常用対数 (底10)
ln 自然対数 (底 e)
abs 絶対値
ceil 最も近い整数に切り上げ
floor 最も近い整数に切り下げ
関数名と引数を空白で区切った表記(例: sin 45)と、括弧を用いた表記(例: sin(45)) のどちらも可能です。
関数名の大文字・小文字は区別されません。
 :
 (sin 30)^2 +(cos 30)^2 = 1
 atan(tan 45) = 45
 20*log(1/100) = -40
後述のユーザ定義ファイルによって、関数をマクロ定義することもできます。

優先順位
1 高 
2 ↑
3
4
5
6
7
8 ↓
9 低
  (、)
関数
^
*、 /、 %
+、-
&、and
xor
|、or
gcd、lcm

定義済み定数
式の中で、以下の定数名を使えます(ツールボタンからも参照可能)。大文字・小文字は区別されません。
pi = 3.141592653589793  円周率
e = 2.718281828459045  自然対数の底
c = 299792458  真空中の光速度 [m*sec^-1]
g = 9.80665  重力加速度 [m/sec^2]
h = 6.6260755E-34  プランク定数 [Js]
ec = 1.60217733E-19  素電荷 [C]
u0 = 1.25663706E-6  真空の透磁率 [H/m]
e0 = 8.85418782E-12  真空の誘電率 [F/m]
k = 1.380658E-23  ボルツマン定数 [J/K]
NA = 6.0221367E+23 アボガドロ定数 [1/mol]
Now = hh:nn:ss  計算時の現在時刻(変数)
 :
 -(e^(2*pi)) = -535.4916555247645
 1/c^2 = 1.112650056053618E-17
 now+1:30 = 21:38:58
後述のユーザ定義ファイルによって、定数をユーザ定義することもできます。

ツールボタン
画面下部にあるツールバーには以下のボタンがあります。
DEG/RAD/GRAD
 三角関数、逆三角関数での角度の単位(度/ラジアン/グラード)を切り替えます。押すたびに順に切り替わります。
DEFINE
 定義済み定数、ユーザ定義定数および関数を参照します。
 なお「定義ファイルの編集」を選ぶと、定義ファイルをテキストエディタで開きます(無ければ新規作成)。
NOW
 現在時刻を入力します。
HEX/DEC
 入力欄が整数の場合、16進/10進変換を行います。
NOT
 ビット単位のNOT (整数に対してのみ有効)。
AC
 入力欄をクリアします。

ユーザ定義ファイル
関数および定数は、ファイルでユーザ定義することができます。
定義ファイルは、NyanFi 実行ディレクトリに "Calculator.INI" という名前で作成してください。DEFINEボタンのメニューで「定義ファイルの編集」を選べは、新規作成された定義ファイルがテキストエディタで開かれます。
書式は一般的なINIファイルと同様です。
関数のマクロ定義は、[Function] セクションに 関数名(引数1[,引数2,引数3...])=定義式 [TAB] 説明 という書式で記述します(説明は省略可)。
関数名は、英数字および "_" で定義してください。大文字・小文字は区別されません。実際の計算式では、括弧を用いた表記で使用してください。
計算式にユーザ定義関数があると、定義にしたがってそれを展開してから実際の計算が行われます。その際、引数は括弧で囲んだ形に展開されます。例えば、SQRT(X)=X^0.5 と定義した場合、SQRT(2+3) は (2+3)^0.5 に展開されるため、定義の際に演算子の優先順位による影響を考慮する必要はありません。
: [TAB] はタブ文字
[Function]
cot(X)=1/tan(X)
F2C(X)=(5.0/9.0)*(X-32.0) [TAB] 華氏→摂氏
C2F(X)=X*(9.0/5.0)+32.0   [TAB] 摂氏→華氏
hypot(A,B)=(A^2+B^2)^0.5  [TAB] 三角形の斜辺の長さ
 F2C(451) = 232.7777777777778
 hypot(3,4) = 5
定数は、[Constant] セクションに 定数名=値 [TAB] 説明 という書式で記述してください(説明は省略可)。
: [TAB] はタブ文字
[Constant]
Tax=0.08         [TAB] 消費税
me=9.1093897E-31 [TAB] 電子の静止質量
[Option] セクションに HideDefConst=1 を設定すると、DEFINEボタンのメニューに定義済み定数を表示せずに、ユーザが定義した項目だけを表示するようにできます。
[Option]
HideDefConst=1

Tips
電卓を外部から呼び出して利用することもできます。
NyanFi.exe -XCalculator
クリップボードを介した計算も可能です。この場合、NyanFi はアクティブになりません。
NyanFi.exe -XCalculator_CB