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를 의미한다.