ホーム ] PC技術/システム技術 ] VB.NETプログラミング ] なるほどナレッジ ] インフォメーション ]

上へ
数値仕様
New
演算メソッド
入出力メソッド
プロパティ

UltraLong構造体

数値仕様

最終更新日:2006/10/17 修正

●構造体

 構造体の要素は保護のため非公開で、必要なものは、メソッド、プロパティを通してアクセスする。

Public Structure UltraLong
   Friend Mant() As Integer  :仮数部を保持する可変長配列
   Friend Exp As Integer    :指数部
   Friend Length As Integer  :数値の桁数
   Friend Sign As Integer    :仮数部の符号
   Friend Status As ULStatus :この数値の状態
   ・・・・・・・・・・・・・・

End Structure

●内部仕様

○形式

 数値は、10進法の浮動小数点形式で表される。正規化状態は、

  [符号]9.9999・・・・・9E±(指数)

となっている。世の中の標準は、0.999999 であるが、ここでは、9.999999 を正規化状態としている。深い意味は全くない。強いて言えば、1の位の数値の時、指数部が0 になる方が分りよいと言ううこと。 内部は、全てこの形式で演算している。

 最大桁数は、別途定めるプロパティできまる(数10から100万程度)。

○構造

  • 仮数部

    可変長のInteger配列。サイズは数値によって決まる。一つの配列要素にて、0 から 99999999 までを表す、1億進数方式となっている。小数点は0桁目と1桁目の間にあるとしている。小数点なので、常に左揃えとなっている。3.4は、34000000 などである。これは、一種のBCDと言える。通常は4 ビットで1 桁を表すが、ここでは、32ビットで、8桁を表すことになる。


     
  • 指数部
    Integerにて符号付きで表す。とりあえず、Integerの範囲まで。
     
  • 符号
    仮数部は補数形式ではなく、符号情報で正負を区別する。0で正、1で負。
     
  • 状態(ULStatus)
    Normal、OverFlow、NaN、Emptyを表す。

    Normal   :正常
    OverFlow :0で除算された
    NaN     :非数値状態
    Empty   :初期状態。インスタンスがない。