数値データ型 (Visual Basic)
Visual Basic には、さまざまな表現で数値を処理するための数値データ型が用意されています。 整数型は整数 (正、負、および 0) だけを表し、非整数型は整数部分と小数部分がある数値を表します。
Visual Basic データ型の side-by-side の比較を示す表については、「データ型の概要 (Visual Basic)」を参照してください。
整数型
整数型は、小数部分のない数だけを表すデータ型です。
符号付き整数型は、SByte 型 (Visual Basic) (8 ビット)、Short 型 (Visual Basic) (16 ビット)、整数型 (Integer) (Visual Basic) (32 ビット)、および Long 型 (Visual Basic) (64 ビット) です。 小数値ではなく、整数が常に変数に格納されている場合、次の型のいずれかとして宣言します。
符号なし整数型は、バイト型 (Byte) (Visual Basic) (8 ビット)、UShort 型 (Visual Basic) (16 ビット)、UInteger 型 (32 ビット)、および ULong 型 (Visual Basic) (64 ビット) です。 変数にバイナリ データまたは状態が不明のデータが含まれる場合は、これらの型のいずれかとして変数を宣言します。
パフォーマンス
算術演算の処理は、他のデータ型よりも整数型の方が高速です。 算術演算の処理は、Visual Basic では、Integer 型および UInteger 型で最速です。
大きい整数
Integer データ型が保持できる整数よりも、より大きい整数を保持する必要がある場合、代わりに、Long データ型を使用できます。 Long 変数は、-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 までの数を保持できます。 Long を使用した演算は、Integer を使用した場合よりも少し遅くなります。
さらに大きい値が必要な場合は、10 進型 (Decimal) (Visual Basic) を使用できます。 小数部分を使用しない場合、Decimal 変数には、-79,228,162,514,264,337,593,543,950,335 から 79,228,162,514,264,337,593,543,950,335 までの数を保持できます。 しかし、Decimal の数値を使用した演算は、他の数値データ型を使用した場合よりも大幅に遅くなります。
小さい整数
Integer データ型のすべての範囲が必要ない場合、-32,768 から 32,767 までの整数を保持できる、Short データ型を使用できます。 最も小さい整数の範囲に対しては、SByte データ型に、-128 から 127 までの整数が保持されます。 小さい整数が保持される変数が非常に多くある場合、Short 変数および SByte 変数を、共通言語ランタイムに格納することもできます。この方法はより効率的であり、メモリの使用量を節約できます。 しかし、Short および SByte を使用した演算は、Integer を使用した演算よりも多少遅くなります。
符号なし整数
変数が負の数値を保持する必要がないことが分かっている場合、符号なしの型 Byte、UShort、UInteger、および ULong を使用できます。 これらのデータ型のそれぞれで、対応する符号付き型の 2 倍の正の整数を保持できます (SByte、Short、Integer、および Long)。 パフォーマンスの面では、それぞれの符号なしの型は、対応する符号付き型と同じくらい効率的です。 特に、UInteger と Integer は、共に非常に効率的にすべての基本数値データ型を処理します。
非整数型の数値型
非整数型のデータ型は、整数部分と小数部分の両方を含む数値を表す型です。
非整数型の数値データ型は、Decimal (128 ビットの固定小数点)、単精度浮動小数点型 (Single) (Visual Basic) (32 ビットの浮動小数点)、および 倍精度浮動小数点数型 (Double) (Visual Basic) (64 ビットの浮動小数点) です。 これらの型はすべて符号付きです。 変数に小数が含まれる可能性がある場合には、この 3 つのいずれかの型で宣言します。
Decimal は浮動小数点型のデータ型ではありません。 Decimal の数値には、バイナリ整数値、および値のどの部分が小数部分であるのかを指定する、整数スケーリング要因があります。
通貨値に Decimal の変数を使用できます。 Sun は値の精度です。 Double データ型は高速で少ないメモリしか使用しませんが、四捨五入による誤差が生じる可能性があります。 Decimal の型は、 28 の小数点以下に完全さを保持します。
浮動小数点数 (Single および Double) の数値は Decimal の数値よりも大きい範囲ですが、丸め誤差が発生する可能性があります。 浮動小数点型がサポートする有効桁数は Decimal よりも少ないですが、より大きい値を表すことができます。
非整数型の数値は、mmmEeee として表すことができます。ここでは、mmm は 仮数 (有効桁数) であり、eee は指数 (10 の累乗) です。 非整数型の最も大きい正の値は、Decimal では 7.9228162514264337593543950335E+28、Single では 3.4028235E+38、および Double では 1.79769313486231570E+308 です。
パフォーマンス
現在のプラットフォーム上のプロセッサでは、浮動小数点の演算が倍精度で実行されるため、Double は、最も効率的な小数データ型です。 しかし、Double を使用した演算は、Integer などの整数型を使用した演算ほどは速くありません。
小さい絶対値
考えられる最も小さい絶対値 (0 に最も近い) を持つ数に対しては、負の値には -4.94065645841246544E-324 を、および正の値には 4.94065645841246544E-324 の数を、Double 変数に保持できます。
小さい小数値
Double データ型のすべての範囲が必要ない場合、-3.4028235E+38 から 3.4028235E+38 までの浮動小数点数を保持できる、Single データ型を使用できます。 Single 変数の最も小さいマグニチュードは、負の値に対しては -1.401298E-45、正の値に対しては 1.401298E-45 です。 小さい浮動小数点数が保持される変数が非常に多くある場合、Single 変数を、共通言語ランタイムに格納することもできます。この方法はより効率的であり、メモリの使用量を節約できます。
参照
処理手順
データ型のトラブルシューティング (Visual Basic)
方法: 符号なしの型を使用する Windows の機能を呼び出す (Visual Basic)