byte는 1byte 의 크기를 갖으며 -128~127 까지의 값을 갖습니다.
short는 2byte의 크기를 갖으며 -32,768~32767 까지의 값을 갖고,
int는 4byte의 크기와 -2,147,483,648~2,147,483,647 까지의 값을 갖으며,
long은 8byte의 크기와 -9,223,372,036,854,775,808L ~9,223,372,036,854,775,807L
비주얼 씨에서 테스트해보았을 때는
long double 형도 double형과 똑같이 8바이트가 나오더군요...
반면에..
유닉스 환경에서 컴파일해 보니 long double유형이 12바이트가 나왔습니다...
궁금해서 MSDN을 뒤져보니....
Table 2.4 Sizes of Fundamental Types
Type |
Size |
char, unsigned char, signed char |
1 byte |
short, unsigned short |
2 bytes |
int, unsigned int |
4 bytes |
long, unsigned long |
4 bytes |
float |
4 bytes |
double |
8 bytes |
long double1 |
8 bytes |
1 The representation of long double and double is identical. However, long double and double are separate types.
Type Name |
Bytes |
Other Names |
Range of Values |
int |
* |
signed, signed int |
System dependent |
unsigned int |
* |
unsigned |
System dependent |
__int8 |
1 |
char, signed char |
-128 to 127 |
__int16 |
2 |
short, short int, signed short int |
-32,768 to 32,767 |
__int32 |
4 |
signed, signed int |
-2,147,483,648 to 2,147,483,647 |
__int64 |
8 |
none |
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
char |
1 |
signed char |
-128 to 127 |
unsigned char |
1 |
none |
0 to 255 |
short |
2 |
short int, signed short int |
-32,768 to 32,767 |
unsigned short |
2 |
unsigned short int |
0 to 65,535 |
long |
4 |
long int, signed long int |
-2,147,483,648 to 2,147,483,647 |
unsigned long |
4 |
unsigned long int |
0 to 4,294,967,295 |
enum |
* |
none |
Same as int |
float |
4 |
none |
3.4E +/- 38 (7 digits) |
double |
8 |
none |
1.7E +/- 308 (15 digits) |
long double |
10 |
none |
1.2E +/- 4932 (19 digits) |
The long double data type (80-bit, 10-byte precision) is mapped directly to double (64-bit, 8- byte precision) in Windows NT and Windows 95.