반응형
정수 자료형의 크기 및 범위
* LLP64/IL32P64, Windows
* ()안에 있는 단어는 생략 가능
이름 | 크기 | 최소 범위 | 최대 범위 |
char signed char |
1byte = 8bit | -128 | 127 |
unsigned char | 1byte = 8bit | 0 | 255 |
short (int) | 2byte = 16bit | -32,768 | 32,767 |
unsigned short (int) | 2byte = 16bit | 0 | 65,535 |
int signed int |
4 byte = 32bit | -2,147,483,648 | 2,147,483,647 |
unsigned (int) | 4 byte = 32bit | 0 | 4,294,967,295 |
long (int) signed long (int) |
4 byte = 32bit | -2,147,483,648 | 2,147,483,647 |
unsigned long (int) | 4 byte = 32bit | 0 | 4,294,967,295 |
long long (int) signed long long (int) |
8 byte = 64bit | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
unsigned long long (int) | 8 byte = 64bit | 0 | 18,446,744,073,709,551,615 |
long과 int의 차이
int | long | |
정의 | CPU의 레지스터와 동일한 크기의 변수 | 32bit(4byte)를 저장하는 확장된 크기의 변수 |
크기 | 플랫폼에 따라 달라짐 | 4byte로 고정 |
16bit OS | 2byte = 16bit | 4byte = 32bit |
32bit OS | 4byte = 32bit |
4byte = 32bit |
64bit OS | * 서로 다른 int의 크기로 문제가 발생하여 정의와 다르게 64bit OS에서는 32bit로 유지시킴 32bit까지는 아키텍쳐에 따라서 크기가 달라지지만, 그 이상은 4byte로 고정 |
Windows : 4byte = 32bit Linux, Mac : 8 byte = 64bit * OS별로 또 달라진다고 함.. |
참고
https://codingwell.tistory.com/12
https://blog.naver.com/passith/70152718749
https://geuninote.tistory.com/78
반응형