C/C++/C# 에서 간단하게 inf/NaN 확인하는 방법
부동소수점 값이 정상 범위가 아닌지 확인하는 것은 은근히 손이 가고 신경이 쓰이는 작업이다. NaN과 Infinite를 구분해야 하는 분야도 있지만, 사실 대부분의 경우에선 구분할 필요까진 없는데, 내장 함수들은 이를 구분하게 되어있다. C++ 11에 와서야 isfinite() 함수가 추가되어 편하게 쓸 수 있는 수준이 되었지만, 그 전까진 뭔가 2% 부족한 느낌이었다. isnormal()은 0도 false를 리턴하는 기염을 토했으며, isnan()과 ininf()를 따로 확인해야 했었다. C#은 아직 isfinite()에 해당하는 함수가 없어서 이런 얘기 자체가 사치스럽게(?) 들리는 상황이다. 그런데, 값이 정상 범위인지를 확인하는 것은 의외로 간단하다. 이는 부동소수점의 구조를 보면 쉽게 이해할 수..