データ型の範囲

Microsoft C++ の 32 ビットおよび 64 ビット コンパイラは、この記事の次の表に示す型を認識します。

データ型の名前が 2 つのアンダースコア (__) で始まる場合、その型は非標準です。

次の表で指定している範囲にはその最大値と最小値も含まれます。

種類名 バイト その他の名前 値の範囲
int 4 signed -2,147,483,648 ~ 2,147,483,647
unsigned int 4 unsigned 0 ~ 4,294,967,295
__int8 1 char -128 ~ 127
unsigned __int8 1 unsigned char 0 ~ 255
__int16 2 -32,768 ~ 32,767
unsigned __int16 2 $ 0 ~ 65,535
__int32 4 -2,147,483,648 ~ 2,147,483,647
unsigned __int32 4 $ 0 ~ 4,294,967,295
__int64 8 $ -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807
unsigned __int64 8 unsigned long long 0 ~ 18,446,744,073,709,551,615
bool 1 なし false または true
char 1 なし 既定では -128 から 127

/J を使用してコンパイルするときは 0 から 255
signed char 1 なし -128 ~ 127
unsigned char 1 なし 0 ~ 255
short 2 $ -32,768 ~ 32,767
unsigned short 2 unsigned short int 0 ~ 65,535
long 4 $ -2,147,483,648 ~ 2,147,483,647
unsigned long 4 unsigned long int 0 ~ 4,294,967,295
long long 8 なし (ただし、__int64 と同等) -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807
unsigned long long 8 なし (ただし、unsigned __int64 と同等) 0 ~ 18,446,744,073,709,551,615
enum 多様 なし
float 4 なし 3.4E +/- 38 (7 桁)
double 8 なし 1.7E +/- 308 (15 桁)
long double double と同じ なし double と同じ
wchar_t 2 __wchar_t 0 ~ 65,535

__wchar_t 型の変数には、その使用方法に応じて、ワイド文字型またはマルチバイト文字型のいずれかを指定します。 ワイド文字型の定数を指定するには、文字または文字列定数の前に L のプレフィックスを使用します。

signedunsigned は、 bool以外の任意の整数型と組み合わせて使用できる修飾子です。 charsigned charunsigned char は、オーバーロードやテンプレートのようなしくみのために用意された、3 つの異なる型であることに注意してください。

int 型と unsigned int 型のサイズは 4 バイトです。 ただし、移植可能なコードでは int 型のサイズに依存しないようにしてください。言語の標準では、そのサイズは実装固有になるためです。

Visual Studio での C/C++ では、サイズが設定された整数型をサポートしています。 詳細については、「__int8, __int16, __int32, __int64」および「整数の制限」を参照してください。

型ごとのサイズの制限の詳細については、「組み込み型」を参照してください。

列挙型の範囲は、言語コンテキストと指定したコンパイラ フラグによって異なります。 詳細については、「 C 列挙体の宣言 」および「 列挙型」を参照してください。

関連項目

キーワード
組み込みの型