수학적인 이유로 정의되지 않은 값에 IEEE754 부동 소수점 NaN (숫자가 아님)을 사용하는 것이 좋습니다.설정되지 않은 값에 IEEE754 부동 소수점 NaN을 사용하는 것이 좋습니다.
우리의 경우 다른 장치에서 값을받지 못했기 때문에 아직 설정되지 않았습니다. 컨텍스트는 IEC1131 REAL32 값을 사용하는 임베디드 시스템입니다. 편집 : 프로그래밍 언어는 C이므로 C99의 NAN과 isnanf (x)를 사용합니다. 이들을 우리의 OS 호환성 레이어에 넣기 위해 약간의 왜곡이 필요할 수도 있습니다.
프로그래밍 언어의 기본값은 내부 표현이 모두 0 인 양수 0으로 부동 소수점 변수를 초기화하는 것으로 보입니다. 0은 유효한 값의 범위에 있기 때문에 우리에게는 유용하지 않습니다.
NaN을 사용하는 것은 깨끗한 솔루션처럼 보이지만 가치가있는 것보다 더 번거롭고 다른 값을 선택해야할까요?
nullable 유형이 나오기 전에 .NET 1.1에서 많은 사람들이 최소값 (int.MinValue)과 같은 것을 사용했습니다. 이 문제는 모든 곳에서 그것을 고려해야하며 MinValue를 절대 사용하지 않아야한다는 것입니다. 아마도 그 라인을 따라 뭔가 C에 존재 하는가? – RichardOD
나는 비슷한 (그러나 같지 않은) 질문을했다. 아마 answeres가 도움이 될 수도있다. http://stackoverflow.com/questions/787828/nan-as-a-special-argument – quinmars