次の方法で共有


数値データ型 (Visual Basic)

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 までの整数を保持します。 小さな整数を保持する変数の数が非常に多い場合、共通言語ランタイムは、 ShortSByte 変数をより効率的に格納し、メモリ消費量を節約できる場合があります。 ただし、 ShortSByte を使用した操作は、 Integerよりもやや遅くなります。

符号なし整数

変数が負の数を保持する必要がないことがわかっている場合は、 符号なし型ByteUShortUInteger、および ULongを使用できます。 これらの各データ型は、対応する符号付き型 (SByteShortIntegerLong) の 2 倍の大きさの正の整数を保持できます。 パフォーマンスの面では、各符号なし型は、対応する符号付き型とまったく同じくらい効率的です。 特に、 UInteger は、すべての基本数値データ型の中で最も効率的であるという区別を Integer と共有します。

非整数型

非整数型 は、整数部分と小数部の両方を持つ数値を表すデータ型です。

非整数数値データ型は、 Decimal (128 ビット固定小数点)、 単一データ型 (32 ビット浮動小数点)、 および Double データ型 (64 ビット浮動小数点) です。 これらはすべて符号付き型です。 変数に分数を含めることができる場合は、これらの型の 1 つとして宣言します。

Decimal は浮動小数点データ型ではありません。 Decimal 数値には、2 進整数値と、10 進数の分数である値の部分を指定する整数のスケーリング 係数があります。

金額には Decimal 変数を使用できます。 利点は、値の精度です。 Doubleデータ型は高速で、必要なメモリは少なくなりますが、丸めエラーが発生する可能性があります。 Decimalデータ型は、小数点以下 28 桁まで完全な精度を保持します。

浮動小数点 (SingleDouble) の数値の範囲は 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 変数をより効率的に格納し、メモリ消費量を節約できる場合があります。

こちらも参照ください