해결된 질문
작성
·
291
1
안녕하세요 선생님 강의 매번 잘 듣고 있습니다.
3.141592를 '지수 표기법'을 이용해 표현하는 걸 실습하고 있었습니다. cout를 사용해 자동형변환으로 출력을 했는데요.
아래 코드와 같이 C를 이용한 printf 결과값은 '3.141592'로 정확히 나왔고, C++에서 cout 결과값은 '3.14159'로 나왔는데요. 뭐가 잘못된지 이해가 안갑니다 ㅠㅠ
cout 자동 형변환으로 double로 계산된 것도 확인했구요.
컴퓨터 구조적인 문제인지 아니면 printf / cout의 차이인지 궁금합니다. 아니면 다른 차이가 있는 건가요?
혼자 끙끙 앓다가 질문을 남기네요. 바쁘신데 죄송합니다.
답변 3
2
안녕하세요?
printf의 경우 %f가 소수점 6번째 자리까지 표현하는 것으로 설정되어 있습니다.
http://www.cplusplus.com/reference/cstdio/printf/
위 글에서 precision 부분을 참고하시면 될 것 같습니다.
cout의 경우에도 비슷합니다만 유효숫자를 나타내줍니다.(기본값은 6입니다.)
http://www.cplusplus.com/reference/iomanip/setprecision/
이 글을 참고하시면 될 것 같습니다.
1
1