データ型の範囲
Microsoft C++ の 32 ビットおよび 64 ビット コンパイラは、この記事の次の表に示す型を認識します。
int
(unsigned int
)__int8
(unsigned __int8
)__int16
(unsigned __int16
)__int32
(unsigned __int32
)__int64
(unsigned __int64
)short
(unsigned short
)long
(unsigned long
)long long
(unsigned long long
)
データ型の名前が 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 | short , short int , signed short int |
-32,768 ~ 32,767 |
unsigned __int16 |
2 | unsigned short , unsigned short int |
0 ~ 65,535 |
__int32 |
4 | signed , signed int , int |
-2,147,483,648 ~ 2,147,483,647 |
unsigned __int32 |
4 | unsigned , unsigned int |
0 ~ 4,294,967,295 |
__int64 |
8 | long long , signed long long |
-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 | short int , signed short int |
-32,768 ~ 32,767 |
unsigned short |
2 | unsigned short int |
0 ~ 65,535 |
long |
4 | long int , signed long int |
-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
のプレフィックスを使用します。
signed
と unsigned
は、 bool
以外の任意の整数型と組み合わせて使用できる修飾子です。 char
、signed char
、unsigned char
は、オーバーロードやテンプレートのようなしくみのために用意された、3 つの異なる型であることに注意してください。
int
型と unsigned int
型のサイズは 4 バイトです。 ただし、移植可能なコードでは int
型のサイズに依存しないようにしてください。言語の標準では、そのサイズは実装固有になるためです。
Visual Studio での C/C++ では、サイズが設定された整数型をサポートしています。 詳細については、「__int8, __int16, __int32, __int64
」および「整数の制限」を参照してください。
型ごとのサイズの制限の詳細については、「組み込み型」を参照してください。
列挙型の範囲は、言語コンテキストと指定したコンパイラ フラグによって異なります。 詳細については、「 C 列挙体の宣言 」および「 列挙型」を参照してください。