달력

32024  이전 다음

  • 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

'1.@IND'에 해당되는 글 1건

  1. 2010.12.14 -1.@IND00

-1.@IND00

C++ 2010. 12. 14. 00:22

NaN, NAN, nan은 "not a number"라는 뜻으로 숫자가 아닌것을 의미합니다.
가끔 연산을 하였을 때 이러한 값이 나오는 경우가 있곤 하는데,
이 이유에 대해서 설명 하자면

1) 0.0000000000000000000000001과 같은 0으로 처리해 버리는 수로 나누거나 실수 연산에서 0.0으로 나누는 상황에 발생합니다.
해결방법은 저런 값으로 나누지 않으면 됩니다. 값을 수정해야 한다는 말이죠.
0.0으로 처리될 수 있는 상황에 대하여 적당한 값을 주고 오류만 없애 주고 연산된 값이 꼭 필요하지 않는 이상 버리면 됩니다.

2) NULL을 반환해도 0.0으로 표시되거나 에러를 표시할 수 없는경우에도 발생하며 sqrt(-1.0)을 연산하면 -1.#IND00이라는 값을 반환합니다.
float.h의 _isnan()을 이용하면 NaN이 반환되는것을 체크할수 있고, 정상적인 숫자라면 0을 아니라면 NaN을 반환하니 적당히 사용하면 될것입니다.



Posted by sukay
|