Visual Basic には、さまざまな表現で数値を処理するための数値 データ型 がいくつか用意されています。 整数 型は整数 (正、負、ゼロ) のみを表し、 非整数 型は整数と小数部の両方を持つ数値を表します。
Visual Basic データ型のサイド バイ サイド比較を示す表については、「 データ型」を参照してください。
整数数値型
整数データ型 は、小数部のない数値のみを表すデータ型です。
符号付き整数データ型は、SByte データ型 (8 ビット)、Short Data Type (16 ビット)、Integer Data Type (32 ビット)、Long データ型 (64 ビット) です。 変数が常に小数ではなく整数を格納する場合は、これらの型の 1 つとして宣言します。
符号なし整数型は、バイト データ型 (8 ビット)、UShort データ型 (16 ビット)、UInteger データ型 (32 ビット)、ULong データ型 (64 ビット) です。 変数にバイナリ データまたは不明な性質のデータが含まれている場合は、これらの型の 1 つとして宣言します。
[パフォーマンス]
算術演算は、他のデータ型よりも整数型の方が高速です。 これらは、Visual Basic の Integer
型と UInteger
型で最も高速です。
大きな整数
データ型が保持できる Integer
より大きい整数を保持する必要がある場合は、代わりに Long
データ型を使用できます。
Long
変数は、-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 までの数値を保持できます。
Long
を使用した操作は、Integer
よりも少し遅くなります。
さらに大きな値が必要な場合は、 Decimal データ型を使用できます。 -79,228,162,514,264,337,593,543,950,335 から 79,228,162,514,264,337,593,543,950,335 までの数値を、小数点以下の桁数を使用しない場合、Decimal
変数に保持できます。 ただし、 Decimal
数値を使用した操作は、他の数値データ型よりもかなり遅くなります。
小さい整数
Integer
データ型の全範囲が不要な場合は、-32,768 ~ 32,767 の整数を保持できるShort
データ型を使用できます。 最小の整数範囲の場合、 SByte
データ型は、-128 から 127 までの整数を保持します。 小さな整数を保持する変数の数が非常に多い場合、共通言語ランタイムは、 Short
と SByte
変数をより効率的に格納し、メモリ消費量を節約できる場合があります。 ただし、 Short
と SByte
を使用した操作は、 Integer
よりもやや遅くなります。
符号なし整数
変数が負の数を保持する必要がないことがわかっている場合は、 符号なし型Byte
、 UShort
、 UInteger
、および ULong
を使用できます。 これらの各データ型は、対応する符号付き型 (SByte
、 Short
、 Integer
、 Long
) の 2 倍の大きさの正の整数を保持できます。 パフォーマンスの面では、各符号なし型は、対応する符号付き型とまったく同じくらい効率的です。 特に、 UInteger
は、すべての基本数値データ型の中で最も効率的であるという区別を Integer
と共有します。
非整数型
非整数型 は、整数部分と小数部の両方を持つ数値を表すデータ型です。
非整数数値データ型は、 Decimal
(128 ビット固定小数点)、 単一データ型 (32 ビット浮動小数点)、 および Double データ型 (64 ビット浮動小数点) です。 これらはすべて符号付き型です。 変数に分数を含めることができる場合は、これらの型の 1 つとして宣言します。
Decimal
は浮動小数点データ型ではありません。
Decimal
数値には、2 進整数値と、10 進数の分数である値の部分を指定する整数のスケーリング 係数があります。
金額には Decimal
変数を使用できます。 利点は、値の精度です。
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 に最も近い) の数値の場合、 Double
変数は負の値の場合は -4.94065645841246544E-324、正の値の場合は 4.94065645841246544E-324 の小さい数値を保持できます。
小さな分数
Double
データ型の全範囲が不要な場合は、-3.4028235E+38 から 3.4028235E+38 までの浮動小数点数を保持できるSingle
データ型を使用できます。
Single
変数の最小の大きさは、負の値の場合は -1.401298E-45、正の値の場合は 1.401298E-45 です。 小さな浮動小数点数を保持する変数の数が非常に多い場合、共通言語ランタイムは、 Single
変数をより効率的に格納し、メモリ消費量を節約できる場合があります。
こちらも参照ください
.NET