현재 위치는 - 분류정보망 - 안경정보 - C 언어에서 int 가 한계를 넘으면 양수 또는 음수가 되고, 최소 범위가 양수가 되고, 최대 경계가 음수가 됩니까? 왜요

C 언어에서 int 가 한계를 넘으면 양수 또는 음수가 되고, 최소 범위가 양수가 되고, 최대 경계가 음수가 됩니까? 왜요

16 비트 int 를 예로 들어 보겠습니다.

우선 메모리에 저장된 숫자가 보수라는 것을 이해해야 한다.

최소 수는 -32768 이고 그 보수는1000,000,000,000,000,000 입니다. -1 의 보코드는 1 1 1,11/kloc 입니다

-32768-1= [-32768]+[-1] =1000,0000,0000,0000 1111,111 1111,111

=32767

최대값은 32767 이고 보완은 0 1 1 1, 1 1,/kloc-입니다 1 의 보코드는 0000,0000,0001입니다.

32767+1= 0111,1,1 1111+0000,0000,0001=

=-32768