char short int long float double等バイトサイズ基礎情報
7997 ワード
C (32 ) (64 )
char 1 1
short int 2 2
int 4 4
long int 4 8
long long int 8 8
float 4 4
double 8 8
1 (Byte) = 8 (bit)
ASCII , ( ) , 。
char -2^7 ~ 2^7-1 %c 、 %d 、 %u
signed char -2^7 ~ 2^7-1 %c 、 %d 、 %u
unsigned char 0 ~ 2^8-1 %c 、 %d 、 %u
[signed] short [int] -2^15 ~ 2^15-1 %hd
unsigned short [int] 0 ~ 2^16-1 %hu 、 %ho 、 %hx
[signed] int -2^31 ~ 2^31-1 %d
unsigned [int] 0 ~ 2^32-1 %u 、 %o 、 %x
[signed] long [int] -2^31 ~ 2^31-1 %ld
unsigned long [int] 0 ~ 2^32-1 %lu 、 %lo 、 %lx
[signed] long long [int] -2^63 ~ 2^63-1 %lld %I64d
unsigned long long [int] 0 ~ 2^64-1 %I64u 、 %I64o 、 %I64x
float +/- 3.40282e+038 %f 、 %e 、 %g
double +/- 1.79769e+308 %lf 、 %le 、 %lg %f 、 %e 、 %g
long double +/- 1.79769e+308 %Lf 、 %Le 、 %Lg
signed( ) , , , ;
unsigned( ) , , ;
unsigned signed ( float double ), ( char ), unsigned 。
float double , ;
1. char / signed char / unsigned char 1 ;
char , signed char 。
2. char / signed char / unsigned char , %c ( ); %d 、 %u , ; , %c .
3. %d ( 10 )、 %o ( 8 ) %x ( 16 ) 。 %u , unsigned , 10 。
4. h short , l long 。
short / unsigned short , int %d/%u , h 。
5. long long :
"%lld" "%llu" linux gcc/g++ long long int (64 bits) 。
"%I64d" "%I64u" Microsoft VC++ __int64 。
6. %f 、 %e %g , scanf , 。
%f ( )、 %e ( ) %g ( )。