C언어

Unsigned를 사용하는 이유

joo_coding 2025. 3. 7. 20:01

unsigned는 정수 자료형에서만 쓸 수 있는 방식이다.

제일 작은 단위인 1바이트를 표현 할 수 있는 char의 경우,

-128~127 까지 데이터를 표현할 수 있다.

 

그런데 에를들어, 내가 데이터에 130을 저장하고싶다면?

char는 최대 127까지만 표현할 수 있으니까

2바이트를 사용해야하나?

그렇다기엔 2바이트는 최댓값이 32,767 인데?

데이터에 비해 너무 거대한 메모리를 사용하게 된다.

 

이럴 때!!

좀 더 효율적으로 메모리를 알차게 사용하기 위해 unsigned를 사용하면 된다.

unsigned char는 절댓값이 char와 똑같이 256이지만, (1바이트=8비트=2의 8승)

범위를 음수가 아닌 0부터 시작해서, 양수만 사용하기 때문에

0~256 까지로 범위가 이동을 하게 된다.

그러면 130은 256이하니까, 굳이 메모리를 늘려 2바이트를 쓰지 않아도

똑같이 1바이트 만으로도 130이라는 데이터를 저장할 수 있다.

 

이것이 unsigned 를 쓰는 이유다.