C / C ++ NaN 상수 (리터럴)?
또는 C / C ++에서 를 할당 할 NaN
수 있습니까? JavaScript에서와 마침 : . 나중에 변수가 숫자인지 아닌지 확인할 수 있습니다.double
float
a = NaN
C에서 NAN
의 선언 <math.h>
.
C ++에서 std::numeric_limits<double>::quiet_NaN()
선언한다 <limits>
.
그러나 값이 NaN인지 확인하기 위해 다른 NaN 값과 가치 없습니다. 대신 사용 isnan()
에서 <math.h>
, 또는 C std::isnan()
에서 <cmath>
C ++한다.
std::numeric_limits<double>::quiet_NaN()
내가 cppreference.com 문서를 선호한다고 말해야하지만 다른 사람들이 당신이 찾고 있다고 지적했듯이 . 특히이 관련이 약간 모호하기 때문에 :
std :: numeric_limits :: has_quiet_NaN == true 인 경우에만 의미가 있습니다.
이 사이트의 섹션을 확인하면 이것이 사이트에서 의미하는 바를 쉽게 확인할 수 있습니다 .std::numeric_limits::has_quiet_NaN
이 상수는 모든 부동 소수점 유형에 의미가 있으며 std :: numeric_limits :: is_iec559 == true이면 true가 보장됩니다.
같은 설명 이는 여기 경우 true
수단 플랫폼이 지원하는 IEEE 754
표준입니다. 이 이전에는 대부분의 상황에서 이것이 사실입니다.
이는 C ++에서 numeric_limits를 사용하여 수행 할 수 있습니다.
http://www.cplusplus.com/reference/limits/numeric_limits/
다음은 아마도보고 싶은 방법입니다.
infinity() T Representation of positive infinity, if available.
quiet_NaN() T Representation of quiet (non-signaling) "Not-a-Number", if available.
signaling_NaN() T Representation of signaling "Not-a-Number", if available.
일반적으로 프로그램에 잘못된 번호를 사용하는 것은 좋지 않습니다. 나중에 제거하기가 매우 어려운 상황에서 프로그램이 중단 될 수 있습니다.
다음은 필요한 번호를 할당하지 않고 있고 좋은 방법 목록입니다. https://studiofreya.com/cpp/1-inf-1-ind-and-qnan-floating-point-numbers-and-errors/#Capturing-오류
요컨대 세 가지가 있습니다.
- 비교
- C ++ 11 표준 사용
- 제어 단어 _controlfp 및 _control87 사용
참고 URL : https://stackoverflow.com/questions/16691207/cc-nan-constant-literal
'IT' 카테고리의 다른 글
사용자가 Facebook의 API를 사용하여 내 Facebook 페이지 또는 URL을 좋아하는지 확인하는 방법 (0) | 2020.08.19 |
---|---|
Meteor는 많은 클라이언트간에 거대한 컬렉션을 공유하는 동안 얼마나 많았습니까? (0) | 2020.08.19 |
왜“short thirty = 3 * 10”이 법적 과제입니까? (0) | 2020.08.19 |
ngModel 포맷터 및 파서 (0) | 2020.08.19 |
SVG는 텍스트 요소 너비를 얻습니다. (0) | 2020.08.19 |