• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

30:26 복습문제 질문드립니다.

20.09.07 22:42 작성 조회수 192

1

안녕하세요 선생님 강의 매번 잘 듣고 있습니다.

3.141592를 '지수 표기법'을 이용해 표현하는 걸 실습하고 있었습니다. cout를 사용해 자동형변환으로 출력을 했는데요. 

아래 코드와 같이 C를 이용한 printf 결과값은 '3.141592'로 정확히 나왔고, C++에서 cout 결과값은 '3.14159'로 나왔는데요. 뭐가 잘못된지 이해가 안갑니다 ㅠㅠ

cout 자동 형변환으로 double로 계산된 것도 확인했구요.

컴퓨터 구조적인 문제인지 아니면 printf / cout의 차이인지 궁금합니다. 아니면 다른 차이가 있는 건가요?

혼자 끙끙 앓다가 질문을 남기네요. 바쁘신데 죄송합니다.

답변 3

·

답변을 작성해보세요.

2

Hello Yeo님의 프로필

Hello Yeo

2020.09.07

안녕하세요?
printf의 경우 %f가 소수점 6번째 자리까지 표현하는 것으로 설정되어 있습니다.
http://www.cplusplus.com/reference/cstdio/printf/
위 글에서 precision 부분을 참고하시면 될 것 같습니다.
cout의 경우에도 비슷합니다만 유효숫자를 나타내줍니다.(기본값은 6입니다.)
http://www.cplusplus.com/reference/iomanip/setprecision/
이 글을 참고하시면 될 것 같습니다.

1

Hello Yeo님의 프로필

Hello Yeo

2020.09.07

화이팅입니다!

1

허재원님의 프로필

허재원

질문자

2020.09.07

바쁘신데 정말 감사합니다.

알려주신 정보 참고해서 더욱 정진하겠습니다.