c, c++ format string "%f" 나 "%g" 사용중 결과가 아래와 같이 나오는 경우가 있다. 1.$ 1.#J 1.#IO 1.#INF00 헛~ 이건 뭐임? stackoverflow.com에 관련 내용이 있었음 http://stackoverflow.com/questions/840081/what-does-floating-point-error-1-j-mean 내용을 읽어본 즉 소숫점 0.0으로 나눈 경우와 관련이 있다고 하는 군요. (Devide by floating point zero) 결론적으로 포맷에 따라 다른 결과를 보여줄 뿐, 같은 내용이었습니다. 참고하세요. 아래는 MSVS 2010 Console Application 프로젝트에서 테스트한 결과 입니다. //------------------------------------------ double a = 0.0; printf("%.1f\n", 1.0 / a); // +inf printf("%.1f\n", -1.0 / a); // -inf printf("%.1f\n", a / a); // NaN printf("------------------------------------------\n"); printf("%.2f\n", 1.0 / a); // +inf printf("%.2f\n", -1.0 / a); // -inf printf("%.2f\n", a / a); // NaN printf("------------------------------------------\n"); printf("%.3f\n", 1.0 / a); // +inf printf("%.3f\n", -1.0 / a); // -inf pr...
alexnetster@gmail.com/ 나중에 재사용시 흔적을 남겨 찾기 쉽게 하는 것이 목적/ 최대한 간단하게.