좋아! unsigned int는 C, C++, Java 등에서 자주 등장하는 개념인데,
한 마디로 말하면 "음수 없이 양수만 표현하는 정수형 자료형"이야.
unsigned int= 부호 없는 정수형 (양수만 표현)
int는 보통 양수 + 0 + 음수를 표현함unsigned int는 0과 양수만 표현함 (음수 ❌)| 자료형 | 범위 | 비트 구조 |
|---|---|---|
int | -2,147,483,648 ~ +2,147,483,647 | 1비트는 부호(sign)에 사용 |
unsigned int | 0 ~ 4,294,967,295 | 전부 정수값 표현에 사용 |
→ 부호 비트를 없앤 대신, 표현 가능한 최대값이 2배 가까이 증가함
#include <stdio.h>
int main() {
int a = -5;
unsigned int b = 5;
printf("a: %d\n", a); // -5
printf("b: %u\n", b); // 5
}
%d → 일반 정수 출력 %u → unsigned int 출력| 상황 | 발생 문제 |
|---|---|
unsigned int x = -1; | ❌ → 음수는 표현 불가, 대신 큰 양수로 변환됨 |
| 비교 연산 | -1 < unsigned int 1 → ❗-1이 암묵적으로 큰 양수로 변환돼서 버그 발생 가능 |
for (unsigned int i = 0; i < n; i++)
unsigned int는 부호 없는 정수형으로, 음수 없이 더 많은 양의 정수를 표현할 수 있는 타입이야.
필요하면 8비트/16비트/64비트까지 각 타입 별 범위도 정리해줄게! 😎