개인공부/C언어
C언어 - 정수의 오버플로우
무제1351
2020. 11. 9. 12:11
unsigned int 와 변수 i의 메모리 사이즈는 4바이트.
unsigned int i = 0b11111111111111111111111111111111;
10진수로는 4,294,967,296
// unsigned int 가 가질수있는 가장큰 값.
// 0b = 바이너리(이진수) 라는 뜻.
UINT_MAX 최대값을 가져온다.
가장 큰 값에서 1을 더하니 최소값이 되었다.
1111 에서 1을 더하니 10000이 되는데 범위가 1111까지 이니 10000에서 0000만 인식한다.
최소값에서 1을 빼니 오히려 최대값이 되어버렸다.
출저 - 홍정모의 따라배우는 C언어