long double의 연산값이 - (minus)로 나오는 이유는?
글쓴이: swhong / 작성시간: 월, 2004/05/31 - 10:40오후
간단히 다음과 같은 코드를 실행시키면
#include <stdio.h> main() { long double cf = 0.0; printf("%g\n", cf + 1); }
결과는?
-0
로 나옵니다. 이론적으로 이해가 가지 않습니다. 즉, overflow가 일어난 것도 아니고, casting 하지도 않았는데... 전혀 이상한 값이 들어가 있네요?
double로 할 경우에는 정상적인 결과가 나옵니다만... long double인 경우 왜 저러한 결과가 나오는 것일까요? 움, 고수님들의 의견 부탁합니다.
Forums:
long double 이면 [b]%Lg[/b] 를 쓰셔야 합니다.
long double 이면 %Lg 를 쓰셔야 합니다.
printf("%Lg\n", cf + 1);
앗!
-.-;; 감사...합니다....
심각하게 생각하는 버릇이 때론...
- by swhong in jgdr.net -
댓글 달기