ホーム ] 概要 ] プログラミング仕様 ] 演算速度 ] 技術解説(システム編) ] 技術解説(四則演算編) ] 技術解説(FFT編) ] 技術解説(数学関数編) ]

上へ
Enum列挙体
MegaLong構造体
MegaPrecisionクラス
FFTクラス

プログラミング仕様

MegaLong構造体

最終更新日:2007/04/26  修正

●概要

 構造体であるが、プロパティやメソッドを持っている。構造体のメンバーは隠蔽されており、ReadOnly プロパティとして参照できるのみとなっている。

New

 New によりインスタンスが生成され、使用できる。

●プロパティ

○値の確認など。

IsZero() As Boolean

 インスタンスの値が 0 であれば True を返す。

IsMantissaOne() As Boolean

 インスタンスの仮数部が 0.1 であれば True を返す。つまり、値が 10N であるか検査する。

IsMantissaInteger() As Boolean

 インスタンスの値が、整数であれば True を返す。(.NET の Integer ではない)

○構造体メンバー参照

NumArray() As Integer()

 インスタンスの仮数部配列を返す。

Exponent() As Integer

 インスタンスの指数部を返す。

NumSign() As MegaSign

 インスタンスの符号部を返す。

NumLength() As Integer

 インスタンスの桁数を返す。

●メソッド

○自己設定メソッド

 インスタンス自体の値や状態を変えるメソッド

Zero()

 自分を値 0 にする。

NaN()

 自分をNaN(非数値)にする。

Overflow()

 自分を Overflow にする。

Negate()

 自分の符号を反転する。Positive、Negative以外は不変。

○変換メソッド

 自分を元にした変換値を返す。

Abs() As MegaLong

 自分を絶対値にした新しいMegaLongを返す。

Copy() As MegaLong

 自分と同じ新しいMegaLongを返す。

Truncate() As MegaLong

 (IntegerPart に同じ)

IntegerPart() As MegaLong

 自分の整数部分で新しいMegaLong を生成して返す。

FractionPart() As MegaLong

 自分の小数部分で新しいMegaLong を生成して返す。

PartialValue(ByVal L As Integer) As MegaLong

 頭からL桁を切り取って新しいMegaLong を生成して返す。

ToLong() As Long

 可能であれば、自分の整数部分をLong にして返す。変換できない場合は、0 が返る。

ToDouble() As Double

 可能であれば、自分の値を Double にして返す。変換できない場合は、0 が返る。

ToText(ByVal Format As MegaFormat, Optional ByVal FractionLength As Integer) As String

 Format に従って、自分の値を文字列にして返す。Format には固定小数点表示と指数表示がある。FractionLength が、0 でなければ、小数点以下の表示桁数を制限できる。この場合、仮数部は、0.9999 ではなく 9.999 となる。


ToText 例 上:指数表示例、下:固定小数点表示例

Description(Optional ByVal Limit As Integer = 0) As String

 自分の内容を物理ダンプする。符号、指数、桁数、仮数部配列中身。Limit は、仮数部配列のダンプ要素数。0 で全てとなる。


Description 例

○入出力メソッド

 外部との入出力

 □バイナリー

StoreValue(ByVal FP As String)

 自分の内容をバイナリーファイルとして書き出す。FP は、フルパスで、ファイル名は任意。

 ヘッダー(hEEEE)、符号、指数、桁数、配列サイズ、配列()、フッター(hFFFF) となる。


保存されたバイナリーファイル 百万桁のπ の例(インテル形式)
桁数:18 00 10 =h100018 = 1048600
仮数部配列の最初の値:76 5E DF 01 =h1DF5E76 = 31415926

LoadValue(ByVal FP As String)

 StoreValue で書き出されたファイルの中身を自分の値に設定する。

 □テキスト

LoadString(ByVal FP As String)

 任意のテキストファイルを読んで、自分の値とする。数値形式は、.NET標準であれば読める。+、-、.、E、0〜9 以外は無視される。従って、位取りやスペース、改行などがあっても良い。