:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/11/07 19:28
double 형과 long double 형의 크기가 다른 머신이라 할지라도 b = a 하면 제대로 된 값이 들어가는 건 당연합니다 (더 큰쪽으로 가니)
아마 0을 보신것은 printf 등으로 찍으셔서 그런 것 같은데, long double을 %f 나 %lf 로 찍으면 0이 나올겁니다. 왜냐면 %lf로 찍으면 메모리 주소를 double 으로 간주하여 출력하라는 건데 실제로는 long double의 포맷에 맞게 저장되어 있으므로 이상한 값이 나오겠지요. http://codepad.org/HZFGQV9Y 이렇게 %Lf 로 찍어야 합니다.
09/11/07 19:33
확인해본 결과 VS2008 Windows XP 32bit 환경에서는 double과 long double의 크기는 8바이트로 같습니다.
0이 들어가는건 Aleph.님 말대로 출력방식의 문제일껍니다.
|