이 세 가지 특수 부동 소수점 값은 양의 무한대, 부정적인 무한대, NAN?

StackOverflow https://stackoverflow.com/questions/1007586

문제

코드에서 어떻게 사용할 수 있으며, NAN (숫자가 아님)을 유발하는 것은 무엇입니까?

도움이 되었습니까?

해결책

이것 Java의 부동 소수점 번호에 대해 더 많이 배우려면 좋은 참조가 될 수 있습니다.

양의 무한대는 양수이므로 정상적으로 표현할 수 없습니다. 음의 무한대는 음수이므로 정상적으로 표현할 수 없습니다. NAN은 "숫자가 아님"을 의미하며 0을 0으로 나누는 것과 같은 숫자를 산출하지 않는 수학적 작업의 결과입니다.

Java에서는 Double 및 Float 클래스는 모두 세 가지 사례를 모두 나타내는 상수를 가지고 있습니다. 그것들은 긍정적 인 _infinity, negative_infinity 및 nan입니다.

또한 이것을 고려하십시오.

double a = Math.pow(10, 600) - Math.pow(10, 600); //==NaN

수학적으로 모든 사람은 0을 볼 수 있습니다. 그러나 기계의 경우, 그것은 실제로 NAN 인 "무한" - "인피니티"입니다.

다른 팁

  • 양의 무한대는 긍정적 인 방향으로 무한대로가는 것을 의미합니다. 긍정적 인 방향으로 크고 큰 값으로 들어가는 것을 의미합니다.
  • 부정적인 무한대는 음의 방향으로 무한대로가는 것을 의미합니다.
  • 숫자가 아닙니다 (Nan)은 결과와 같이 정의되지 않은 것입니다. 0/0.

그리고 사양의 상수 Float 수업:

자세한 내용은 위키 백과의 IEEE-754 페이지.

다음은 세 가지 상수를 설명하기위한 작은 프로그램입니다.

System.out.println(0f / 0f);
System.out.println(1f / 0f);
System.out.println(-1f / 0f);

산출:

NaN
Infinity
-Infinity
  • 1/0은 긍정적 인 무한대를 초래합니다.
  • 0/0은 NAN이 발생합니다. NAN을 다른 숫자로 사용할 수 있습니다 (예 : NAN+NAN = NAN, NAN+2.0 = NAN)
  • -1/0은 음의 무한대를 초래합니다.

Infinity (Java)는 작업의 결과가 정상적으로 표현할 수없는 매우 큰 양 또는 음수가 될 것임을 의미합니다.

아이디어는 "일반"숫자에 대한 작업에서 자연스럽게 발생할 수있는 특수 숫자를 나타내는 것입니다. 당신은 부동 소수점 표현의 무한대 (양수 및 부정)를 "긍정적 및 부정적인)로 볼 수 있습니다. 아이디어는 적어도 일부 조건에서 기능에 의해 반환되는 값을 갖는 것이 여전히 의미있는 결과를 초래한다는 것입니다. 예를 들어 여전히 몇 가지 순서 속성이 있습니다 (예 : 정렬 작업을 망치지 않습니다).

NAN은 매우 특별합니다. X가 NAN이면 x == X는 False입니다 (실제로 C에서 다시 NAN을 테스트하는 한 가지 방법입니다). 플로팅 포인트 특성에 익숙하지 않으면 이것은 매우 혼란 스러울 수 있습니다. 과학적 계산을하지 않는 한, NAN이 작전으로 돌아 오는 것은 적어도 대부분의 경우에 떠오르는 버그라고 말합니다. NAN은 0/0, inf -inf, inf/inf, 0 * inf. NAN은 주문 속성도 없습니다.

다른 번호로 사용할 수 있습니다.

예 :

float min = Float.NEGATIVE_INFINITY;
float max = Float.POSITIVE_INFINITY;
float nan = Float.NaN;

양의 무한대는 양수이므로 정상적으로 표현할 수 없습니다. 음의 무한대는 음수이므로 정상적으로 표현할 수 없습니다. Nan은 "숫자가 아님"을 의미하며 숫자를 생산하지 않는 수학적 작동- 0으로 0을 나누는 것과 같습니다.

이것은 완전한 대답이 아닙니다 (또는 충분히 명확하지 않은) - 이것을 고려하십시오.

double a = Math.pow(10,600) - Math.pow(10,600); //==NaN

수학적으로 모든 사람은 0을 볼 수 있습니다. 그러나 기계의 경우 "무한" - "무한대"(같은 순서의) 마녀는 참으로 nan입니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top