isaaclys   4년 전

동일해 보이는 코드인데 아래코드(%g)는 틀렸습니다가 나오고, 위의 코드(%.9f)는 맞았습니다가 나옵니다. 출력형식이 어떻게 달라서 이런 차이가 나올까요?

qwer9412   4년 전

저도 %g에 대해 정확히는 모르지만

1. %g만 사용할 경우 1/3 = 0.333333 까지만 나옵니다. 문제에서는 10의 -9승의 오차범위까지 허용한다 했으니 틀리겠죠.

2. 그렇다고 %.9g를 사용하면 안됩니다. %.9g는 소수점 아래 9자리까지 표현하는게 아니라 가수부의 개수를 9개로 제한하는 표현일겁니다.

예를 들어 11.1234567891 의 경우

%.9f는 11.123456789가 나오겠지만 

%.9g는 11.1234568이 나올겁니다. 가수부가 정수부분 2개(11)와 소수부분 7개(.1234567)로 되기 때문이겠죠.

isaaclys   4년 전

오오... 그런 차이가 있군요. 새롭게 알아갑니다. 감사합니다!👍

wjy0117   2년 전

오 저도 하나 알아갑니다 질문자님, 답변자님 모두 감사합니다

댓글을 작성하려면 로그인해야 합니다.