문제에서 123456789.0e-5f인데 %6.1f가 1234.6으로 숫자 5가 왜 빠졌는지, %e를 출력하는데도 1.234568e+03으로 숫자 7,9가 왜 빠졌는지 그리고 왜 +03인건지도 궁금합니다.
제가 생각한 답은 %6.1f는 1234.5이고 %e는 1.23456789e+08 이겁니다.
안녕하세요 길벗수험서 운영팀입니다.
C, Java, Python에서 소수점이 제한되는 경우 기본적으로 '반올림'이 적용됩니다.
1234.56~에서 소수점 .1을 표현하기 위해 6에서 반올림되어 1234.5가 1234.6이 된 것이고,
%e 또한 기본 소수점 6자리를 표현하기 위해 7번째 자리에서 반올림한 것이 6번째 자리인 7에 적용되어 1.234568이 된 것입니다.
%e의 기본 출력형식은
'0.000000e+00' 이기 때문에 3이 아닌 03으로 출력됩니다.
지수부의 3은 10의 3승(1000)이 좌측의 실수부분에 곱해지거나(+인 경우) 나눠진다는 것(-인 경우)을 의미합니다.
행복한 하루되세요 :)
-
관리자2020-09-15 17:15:15
안녕하세요 길벗수험서 운영팀입니다.
C, Java, Python에서 소수점이 제한되는 경우 기본적으로 '반올림'이 적용됩니다.
1234.56~에서 소수점 .1을 표현하기 위해 6에서 반올림되어 1234.5가 1234.6이 된 것이고,
%e 또한 기본 소수점 6자리를 표현하기 위해 7번째 자리에서 반올림한 것이 6번째 자리인 7에 적용되어 1.234568이 된 것입니다.
%e의 기본 출력형식은
'0.000000e+00' 이기 때문에 3이 아닌 03으로 출력됩니다.
지수부의 3은 10의 3승(1000)이 좌측의 실수부분에 곱해지거나(+인 경우) 나눠진다는 것(-인 경우)을 의미합니다.
행복한 하루되세요 :)