Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 지식 보관소

NaN과 Infinity 본문

프로그래밍 언어/자바

NaN과 Infinity

야식은진리다 2019. 12. 22. 19:24

자바에서의 '/'과 '%'연산은 우측 피연산자에 0을 사용할 경우 ArithmeticException(예외)이 발생한다.

 

하지만 실수인 0.0이나 0.0f로 나누면 '/' 연산의 결과는 Infinity(무한대)의 값을 가지고, '%'연산의 결과는 NaN(Not a Number)을 가진다.

 

중요한 것은 이러한 값들( Infinity와 NaN )이 나오면 다음 연산을 수행하면 안 된다.

이러한 값들은 어떤 수와 산술 연산을 하더라도 Infinity와 NaN이 산출되므로 데이터가 엉망이 될 수 있다.

 

때문에 '/'와 '%'의 연산 결과가 Infinity 또는 NaN인지 아닌지 확인하는 작업이 필요하다. 그 방법은

Double.isInfinity( )와 Double.isNaN( ) 메서드를 사용하면 된다. 해당 메서드들은 double을 인자로 받아서 받은 값이 Infinity나 NaN이라면 true를 반환하고, 아니라면 false를 반환한다.

 

'프로그래밍 언어 > 자바' 카테고리의 다른 글

어노테이션  (0) 2020.02.09
final  (1) 2020.02.02
정적 초기화 블록  (0) 2020.02.02
가변 인자  (0) 2020.02.01
자바의 foreach  (0) 2019.12.23