【C/C++】C/C++基本データ型
4652 ワード
標準C基本データ型:int char long short float double voidおよびsigned、unsignedとの組合せ.標準C++がbool型とwchar_を追加t型、32ビットオペレーティングシステムでは、それらの長さは以下の表の通りである.
タイプ識別子
タイプの説明
長さ(バイト)
範囲
コメント
char
もじがた
1
-128 ~ 127
-27 ~ (27 -1)
unsigned char
ふごうもじがた
1
0 ~ 255
0 ~ (28 -1)
short int
たんせいけい
2
-32768 ~ 32767
2-15 ~ (215 - 1)
unsigned short int
符号なしショート整数
2
0 ~ 65535
0 ~ (216 - 1)
long int
ちょうせいがた
4
-2147483648 ~ 2147483646
-231 ~ (231 - 0)
int
せいけい
4
-2147483648 ~ 2147483647
-231 ~ (231 - 1)
unsigned int
ふごうせいがた
4
0 ~ 4294967295
0 ~ (232-1)
float
じつがた
4
1.18*10-38 ~ 3.40*1038
7ビット有効ビット
double
じつがた
8
2.23*10-308 ~ 1.79*10308
15ビット有効ビット
long double
じつがた
10
3.37*10-4932 ~ 1.18*104932
19ビット有効ビット
異なるプラットフォームでは、文字長が異なります.具体的には、次のコードで確認できます.
[cpp] view plain copy
#include
void main()
{
//文字型記号付きバイト数と記号なしバイト数は同じ範囲が異なる printf("char is %d",sizeof(char));
printf("unsigned char is %d",sizeof(unsigned char));
//整数型 printf("short int is %d",sizeof(short int));
printf("unsigned short int is %d",sizeof(unsigned short int));
printf("long int is %d",sizeof(long int));
printf("int is %d",sizeof(int));
printf("unsigned int is %d",sizeof(unsigned int));
//浮動小数点型 printf("float is %d",sizeof(float));
printf("double is %d",sizeof(double));
printf("long double is %d",sizeof(long double));
}
ヘッダファイルでhでは、タイプの制限を表す記号定数を定義する.リストは次のとおりです.
name
expresses
value*
CHAR_BIT
Number of bits in a
SCHAR_MIN
Minimum value for an object of type
SCHAR_MAX
Maximum value for an object of type
UCHAR_MAX
Maximum value for an object of type
CHAR_MIN
Minimum value for an object of type
either SCHAR_MIN or
CHAR_MAX
Maximum value for an object of type
either SCHAR_MAX or UCHAR_MAX
MB_LEN_MAX
Maximum number of bytes in a multibyte character, for any locale
SHRT_MIN
Minimum value for an object of type
SHRT_MAX
Maximum value for an object of type
USHRT_MAX
Maximum value for an object of type
INT_MIN
Minimum value for an object of type
INT_MAX
Maximum value for an object of type
UINT_MAX
Maximum value for an object of type
LONG_MIN
Minimum value for an object of type
LONG_MAX
Maximum value for an object of type
ULONG_MAX
Maximum value for an object of type
LLONG_MIN
Minimum value for an object of type
LLONG_MAX
Maximum value for an object of type
ULLONG_MAX
Maximum value for an object of type
*その正確な値は、システムとライブラリの実装に依存します.
タイプ識別子
タイプの説明
長さ(バイト)
範囲
コメント
char
もじがた
1
-128 ~ 127
-27 ~ (27 -1)
unsigned char
ふごうもじがた
1
0 ~ 255
0 ~ (28 -1)
short int
たんせいけい
2
-32768 ~ 32767
2-15 ~ (215 - 1)
unsigned short int
符号なしショート整数
2
0 ~ 65535
0 ~ (216 - 1)
long int
ちょうせいがた
4
-2147483648 ~ 2147483646
-231 ~ (231 - 0)
int
せいけい
4
-2147483648 ~ 2147483647
-231 ~ (231 - 1)
unsigned int
ふごうせいがた
4
0 ~ 4294967295
0 ~ (232-1)
float
じつがた
4
1.18*10-38 ~ 3.40*1038
7ビット有効ビット
double
じつがた
8
2.23*10-308 ~ 1.79*10308
15ビット有効ビット
long double
じつがた
10
3.37*10-4932 ~ 1.18*104932
19ビット有効ビット
異なるプラットフォームでは、文字長が異なります.具体的には、次のコードで確認できます.
[cpp] view plain copy
#include
void main()
{
//文字型記号付きバイト数と記号なしバイト数は同じ範囲が異なる printf("char is %d",sizeof(char));
printf("unsigned char is %d",sizeof(unsigned char));
//整数型 printf("short int is %d",sizeof(short int));
printf("unsigned short int is %d",sizeof(unsigned short int));
printf("long int is %d",sizeof(long int));
printf("int is %d",sizeof(int));
printf("unsigned int is %d",sizeof(unsigned int));
//浮動小数点型 printf("float is %d",sizeof(float));
printf("double is %d",sizeof(double));
printf("long double is %d",sizeof(long double));
}
ヘッダファイルでhでは、タイプの制限を表す記号定数を定義する.リストは次のとおりです.
name
expresses
value*
CHAR_BIT
Number of bits in a
char
object (byte) 8
or greater SCHAR_MIN
Minimum value for an object of type
signed char
-127
( -27+1
) or less SCHAR_MAX
Maximum value for an object of type
signed char
127
( 27-1
) or greater UCHAR_MAX
Maximum value for an object of type
unsigned char
255
( 28-1
) or greater CHAR_MIN
Minimum value for an object of type
char
either SCHAR_MIN or
0
CHAR_MAX
Maximum value for an object of type
char
either SCHAR_MAX or UCHAR_MAX
MB_LEN_MAX
Maximum number of bytes in a multibyte character, for any locale
1
or greater SHRT_MIN
Minimum value for an object of type
short int
-32767
( -215+1
) or less SHRT_MAX
Maximum value for an object of type
short int
32767
( 215-1
) or greater USHRT_MAX
Maximum value for an object of type
unsigned short int
65535
( 216-1
) or greater INT_MIN
Minimum value for an object of type
int
-32767
( -215+1
) or less INT_MAX
Maximum value for an object of type
int
32767
( 215-1
) or greater UINT_MAX
Maximum value for an object of type
unsigned int
65535
( 216-1
) or greater LONG_MIN
Minimum value for an object of type
long int
-2147483647
( -231+1
) or less LONG_MAX
Maximum value for an object of type
long int
2147483647
( 231-1
) or greater ULONG_MAX
Maximum value for an object of type
unsigned long int
4294967295
( 232-1
) or greater LLONG_MIN
Minimum value for an object of type
long long int
-9223372036854775807
( -263+1
) or less LLONG_MAX
Maximum value for an object of type
long long int
9223372036854775807
( 263-1
) or greater ULLONG_MAX
Maximum value for an object of type
unsigned long long int
18446744073709551615
( 264-1
) or greater *その正確な値は、システムとライブラリの実装に依存します.