1. C언어 기본 자료형
프로그램을 만들 때 어떤 자료형을 선택하느냐 에 따라서 데이터의 표현 방식과,
메모리 사용량이 달라집니다.
즉 여러 가지 자료형이 존재하는 이유가 바로 메모리의 효율적인 사용을 위함이라고 생각할 수 있습니다.
정수형 자료형에서 char 는 문자형이기도 합니다.
1바이트를 사용하는 최소 단위이며, 저장하는 데이터는 정수형이지만 표현 방식에 따라서
아스키코드 표를 참조하여 문자로 표현되는 자료형입니다.
2. 자료형의 표현 범위
우리가 사용하는 자료형은 사실 signed 라는 키워드가 생략되어 있습니다.
signed 키워드는 정수형 변수에 한해서, 부호를 가지는 변수를 선언한다는 의미를 가집니다.
최상위 비트(Most Significant Bit), MSB,가 부호를 판별하는 비트가 되며, 비트 하나를 부호판멸에 쓰는 만큼
양의 정수 표현범위가 절반으로 줄어버리고, 음수를 표현할 수 있게 됩니다.
그렇다면 그 반대의 키워드도 있겠죠?
바로 unsigned 입니다.
unsigned 키워드의 의미는 MSB를 부호 판별 용도로 사용하지 않겠다는 의미입니다.
따라서 양의 정수 표현범위가 signed 보다 2배 늘지만, 음수를 표현 할 수 없게 됩니다.
자료형 | 크기 | 범위 |
(signed) char | 1 byte | - ~ (-1), -128 ~ 127 |
(signed) short | 2 byte | - ~ (-1), -32,768 ~ 32,767 |
(signed) int | 4 byte | - ~ (-1), -2,147,483,648 ~ -2,147,483,647 |
(signed) long | 4 byte | - ~ (-1), -2,147,483,648 ~ -21,474,83647 |
자료형 | 크기 | 범위 |
unsigned char | 1 byte | 0 ~ (-1), .0 ~ 255 |
unsigned short | 2 byte | 0 ~ (-1), 0 ~ 65,535 |
unsigned int | 4 byte | 0 ~ (-1), 0 ~ 4,294,967,295 |
unsigned long | 4 byte | 0 ~ (-1), 0 ~ 4,294,967,295 |
- by Raimondo