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

上へ

MegaLong構造体

New

最終更新日:2006/12/13  修正

●概要

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

●プログラミング

  • Dim A As New MegaLong(Value)
  • Dim B As Megalong
    B = New MegaLong(Value)

●仕様

○整数

New(Value As Byte)
New(Value As SByte)
New(Value As Short)
New(Value As UShort)
New(Value As Integer)
New(Value As UInteger)
New(Value As Long)
New(Value As ULong)

○浮動小数点

New(Value As Single)   :仮数部の有効桁は 7 桁
New(Value As Double) :仮数部の有効桁は 15 桁

○10進

New(Value As Decimal)

 整数、小数ともにそのまま変換される

○MegaLong

New(Value As MegaLong)

○Object

New(Value As Object)  

 中身が上記の数値型であること。上記以外であれば、値 0 が生成される。

○文字列

New(Value As Strring)  
New(Value As StringBuilder)

 リテラルの数値にて生成する。.NET の標準的な数値形式で、百万桁まで可能。+、-、.、E、0〜9 以外は無視される。従って、位取りやスペース、改行などがあっても良い。形式に不備があると、値 0 が生成される。

例:

"-1.2345678909876543210123456789E+9999"
"0.000000000000000000001020304050607"  

○指数

New(Value As Long, Exp As Integer)
New(Value As Double, Exp As Integer)

 Value * 10Exp が生成される。Double の場合は、有効桁は15桁となる。

New(Sign As MegaSign, Num() As Integer, Exp As Integer)

 配列 Num() を仮数部にして、新しいMegaLong を生成する。Sing Num() 10Exp である。Num() は正規化されるが、配列内の各値は、Base(1億) 未満であること。正規化に関わらず、指数は常に Exp となる。長大な数値の生成では、文字列よりずっと高速となる。