C++
floating point overflow 검사
leo21c
2014. 8. 28. 14:15
참고: http://www.cplusplusdevelop.com/47_23295818/
DBL_MAX, DBL_MIN은 C++은 <cfloat>에 define 되어 있고 C는 <float.h>에 define 되어 있다.
이것을 이용하면 된다.
C++의 <limits>에 정의된 std::numeric_limits를 이용해도 된다.
#include <iostream>
#include <cfloat>
#include <limits>
int main()
{
std::cout << DBL_MAX << std::endl;
std::cout << std::numeric_limits<double>::max() << std::endl;
return 0;
}
| 1.79769e+308 1.79769e+308 |
나는 아래와 같은 define을 하나 만들어서 사용을 했다.
#define CheckFloatingPoint(value) (value > DBL_MAX ||value < DBL_MIN ? true : false)
LIST