Tech Blog/C and C++
C언어 - 기본자료형의 크기와 범위(bit,bytes,singed,unsigned)
EXPRESSIONS HAVE POWER
2021. 6. 9. 16:01
비트란 ?
- 비트란 컴퓨터가 처리할 수 있는 최소이ㅡ 데이터 단위이다.
하나의 비트는 0 or 1의 값을 가질 수 있다.
이 숫자들이 일정한 단위로 모여서 하나의 값이 된다.
컴퓨터는 비트를 이용하여 모든 것을 처리하고, 이 비트는 결국
숫자이기 때문에 컴퓨터는 모든 것을 숫자로 처리한다.
값을 표현하는 최소 단위 = 8비트
1 바이트(1 Bytes = 8 Bit)
비트 & 바이트의 단위
이름 | 계산법 |
비트 | - |
바이트 | 1 Bytes = 8 Bit |
킬로바이트 | 1KB = 1000 Bytes |
메가바이트 | 1MB = 1000 KB |
기가바이트 | 1GB = 1000KB |
테라바이트 | 1TB = 1000GB |
페타바이트 | 1PB = 1000TB |
엑사바이트 | 1EB = 1000PB |
제타바이트 | 1ZB = 1000EB |
요타바이트 | 1YB = 1000ZB |
기본 자료형의 메모리 크기와 값의 범위
자료형 | 키워드 | 메모리 크기 | 값의 범위 |
문자형 | char | 1 Bytes | -128~127 |
정수형 | short | 2 Bytes | -32,768~32,767 |
int | 4 Bytes | -2,147,483,648 ~ 2,147,483,647 |
|
long | 4 Bytes | -2,147,483,648 ~ 2,147,483,647 |
|
부호 없는 문자형 | unsinged char | 1 Bytes | 0~255 |
부호 없는 정수형 | unsigned short | 2 Bytes | 0~65,535 |
unsigned int | 4 Bytes | 0~4,294,967,295 | |
unsigned long | 4 Bytes | 0~4,294,967,295 | |
부동 소수형 | float | 4 Bytes | 1.2E-38~3.4E38 |
double | 8 Bytes | 2.2E-308~1.8E308 | |
void형 | void | 0 Bytes | 값 없음 |
- 메모리의 크기는 운영체제에 따라 다르며, 32비트(4Bytes) 운영체제를 기준으로 함.
signed와 unsigned 비교
signed | unsigned |
자료형이 가질 수 있는 크기 중 최상위 비트를 부호 판별용으로 사용하여, 표현할 수 있는 숫자의 범위가 좁다. 예) int : 4 Bytes (-2,147,483,648 ~ 2,147,438,647) |
unsinged 변수는 부호 비트가 필요 없기 때문에, signed 변수보다 숫자의 범위를 더 넓게 표현할 수 있다. 예) int : 4 Bytes (0~4,294,967,295) |
- unsigned의 사용
정수형 데이터는 부호를 가질 수 있다. 즉 +1, -1 등 양수와 음수를 가지는데 경우에 따라서, 음수를 허용하면 안되는 경우가 있다. 예를 들면 사람의 키의 값을 가지는 변수가 있으면 사람의 키는 음수가 없으므로 양수만을 가질 수 있도록 선언하는 것이 좋다. 이러한 경우 unsigned 키워드를 사용할 수 있다.
* signed는 보통 생략해서 사용하며, unsigned라는 키워드가 없으면 signed를 의미한다.