2011-04-25 2 views
1

Java에서 오버플로를 이해하지만 언더 플로우라고하는 것은 무엇입니까? 어떻게 그것을 처리 할 수있는 자바?Java 처리 정수 언더 플로 및 오버 플로우는 어떻게 처리됩니까?

+1

정수 언더 플로 또는 부동 소수점 언더 플로를 언급하고 있습니까? – Justin

+0

중복 http://stackoverflow.com/questions/2154712/common-underflow-and-overflow-exceptions? – DJClayworth

+0

대답은, 내가 아는 한, 그렇지 않습니다. 일련의 전체 adders와 똑같은 동작을 얻습니다. – bdares

답변

4

언더 플로우는 오버플로와 정반대입니다.

int high = Integer.MAX_VALUE; 
int overflow = high + 1; 

int low = Integer.MIN_VALUE; 
int underflow = low - 1; 

는 그리고 당신은 그것을 같은 방식으로 처리 : 당신이 확실 입력이 이상/언더 플로우의 범위에 자신을 넣어, 잠재적 인 단점을 알고 사용자를 만들려고하지 않는합니다.

+0

내가 아는 한 최선을 다해 (내 대답을 비교하십시오). 당신은 당신의 주장에 대한 출처를 인용 할 수 있습니까? – musiKk

+0

"정수 언더 플로"에 대한 Google의 첫 번째 결과는 어떨까요 : http://cwe.mitre.org/data/definitions/191.html 부동 소수점 언더 플로와 정수 언더 플로는 다른 개념이며 OP는 정수 언더 플로우. – corsiKa

+0

MIN_VALuE에서 빼기 중 하나가 음의 방향으로 오버 플로우 된 것 같습니다. – MeBigFatGuy

0

Wikipedia을 인용. (예를 들면 Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE 있다면) (또는 "포인트 언더 부동"또는 그냥 "언더 플로우")

용어 연산 언더가 컴퓨터 프로그램의 조건은 그 수 발생할 때 부동 소수점 연산의 결과에 해당 작은 크기 인 대상 datat에서 통상 부동 소수점 수와 최소치 표현할보다 (즉, 제로에 가까운) 예프.

다른 사람들은 언더 플로가 오버플로와 정반대라고 생각하는 것 같지만 그 정의는 본 적이 없습니다.

관련 문제