|
●概要 ここでの加減乗除演算は、いわゆる筆算と同じ手順で行う方式である。MegaLong の数値形式で基本的に演算が正しく行えることは既に説明している。ここでは、その上位概念を説明する。 ●共通事項 四則演算では、おおむね以下の手順で行う。但し、C = A op B なる形式であるとする。
●加算 補数方式ではないので、負数があると面倒な処理が必要となる。全て絶対値演算になり、符号は別途調整される。加算といえど、減算になる場合もある。 ●減算 補数方式ではないので、負数があると面倒な処理が必要となる。全て絶対値演算になり、符号は別途調整される。減算といえど、加算になる場合もある。 ●乗算 配列 * 配列、配列 * Base の二通りの乗算がある。配列 * Base の乗算は速い。演算は絶対値で行い、符号は別途調整される。指数部は加算で求められる。 ●除算 配列 / 配列、配列 / Base の二通りの除算がある。配列 / Base の除算は速い。演算は絶対値で行い、符号は別途調整される。指数部は減算で求められる。 ●自動乗除算 Div、Mul命令による乗除算は、オペランドの桁数より、演算方式を自動的に切り替えている。これは、システム変数が測定され設定されていれば意味のある状態となる。 ○除算 除算には、通常除算(多倍長/Base、多倍長/多倍長)と逆数除算がある。A/B では、以下のように B の桁数で自動切換えを行う。
○乗算 乗算には、通常乗算(多倍長 Base、多倍長*多倍長)とFFT乗算がある。A*B では、以下のように A または B の桁数で自動切換えを行う。
|