【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  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
*その正確な値は、システムとライブラリの実装に依存します.