티스토리 뷰

면접준비

Interger.MIN_VALUES

llilliiillliill 2017. 11. 21. 18:39

문제 : 왜 Integer.MIN_VALUES에 대응하는 양수가 없는가?


short, int, long 타입의 2진수 값 저장소는 메모리에서 2의 보수 값을 사용한다.


양의 2진수 표현

10진수 표현 

2진수 표현 

0000 0000 

0000 0001 

0000 0010


일부 음수의 2진수 표현

10진수 표현 

2진수 표현 

-1 

1111 1111 

-2 

1111 1110

...

 

-127 

1000 0001 

-128 

1000 0000 


따라서 Integer.MAX_VALUE 보다 크거나 Integer.MIN_VALUE 보다 작은 값을 결과로 갖는 연산을 하려면 최하위 32 비트만 사용하고, 에러값을 반환할 것이다.

이런 경우를 오버플로라고 한다.

'면접준비' 카테고리의 다른 글

Back-end 면접 준비(3/3)  (0) 2017.11.26
Back-end 면접 준비 (2/3)  (0) 2017.11.26
Back-end 면접 준비 (1/3)  (0) 2017.11.26
원시 타입 관련  (0) 2017.11.21
댓글