C언어 - 정수의 오버플로우

2020. 11. 9. 12:11개인공부/C언어

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언어