次の方法で共有


数値データ型

更新 : 2007 年 11 月

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 の数値には、バイナリ整数値、および値のどの部分が小数部分であるのかを指定する、整数スケーリング要因があります。

浮動小数点数 (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 変数を、共通言語ランタイムに格納することもできます。この方法はより効率的であり、メモリの使用量を節約できます。

参照

処理手順

データ型のトラブルシューティング

方法 : 変数に整数を保持する

方法 : 変数で小数桁を保持する

方法 : 変数に可能な最大値を保持する

方法 : unsigned 型を使用して正の整数のストレージを最適化する

方法 : 符号なしの型を使用する Windows の機能を呼び出す

方法 : 変数で最大有効桁数を保持する

方法 : 変数で通貨値を保持する

概念

文字データ型

その他のデータ型

その他の技術情報

基本データ型