ホーム ] 多倍長語 MegaLong ] 基数変換 ] 数値変換 ] 定数システム ] 演算時間予測システム ]

上へ
整数 → MegaLong
実数 → MegaLong
10進数 → MegaLong
文字列 → MegaLong
整数部分
小数部分
部分値
MegaLong → Long
MegaLong → Double
文字列変換

数値変換

部分値(PartialValue)

最終更新日:2007/04/26 新規

●概要

 MegaLong の仮数部を指定した位置、桁数で切出し、新しいMegaLong にする。残りは切捨てられる。

 下図のように、3通りがある。灰色部分は切捨てられる。内部の数学関数演算で使用される。

●方法

○前部 (PartialValue(L))

  1. L が、現在の桁数未満であれば、新しい語長を算出し、不要な配列を除去する。
  2. 末尾の配列で、不要な末尾の桁を除去する。
  3. もし、後ろに0 要素があれば除去する。
  4. 有効桁を数える。指数は不変。

○中間 (PartialValue(S, L ))

 S は開始桁位置(0 から数える)、L は切出し桁数。S、L が正しければ、

  1. S \ 8 は、先頭の不要な配列となるので、これを除去。
  2. S Mod 8 により頭出しを行う。
  3. L を含む配列にする(末尾の不要な配列を除去)。
  4. 正規化する。指数は、指数 - (S + 1) - 正規化桁数 となる。

○後部 (PartialValue(S, -1 ))

 S は開始桁位置(0 から数える)。この場合は、残り全部を採用する。L を算出して、中間と同じ処理を行う。