float a = 123456789.0e-5f 일 때 지수형으로 출력하면 1.234568e+03 이 된다고 했는데요,
+03에서 왜 3앞에 0이 붙는지 알 수 있을까요? 그냥 +3이라고 쓰면 안되는건가요?
140쪽에 있는 c언어 코드에서는 지수형으로 출력하면 9.3326e+157 이라는데 왜 여기서는 157앞에 0이 안붙나요?
안녕하세요.
float a = 123456789.0e-5f;
printf("소수점a = &6.1f 지수형a = %e\n", a, a);
%e로 출력하면
소수점 자리수가 지정되지 않으면 f나 e는 모두 기본적으로 소수점 6자리로 출력합니다.
e는 정수 부분을 1자리만 출력하므로
1.234568 이 됩니다. 역시 소수점 마지막 6자리는 7째 자리에서 반올림 된 것이고
1.234568 은 원래의 값 1234.56789에서 소수점 위치가 왼쪽으로 3자리 이동했으므로 e+03이 되어
1.234568e+03으로 출력이 되는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-03-24 09:47:04
안녕하세요.
float a = 123456789.0e-5f;
printf("소수점a = &6.1f 지수형a = %e\n", a, a);
%e로 출력하면
소수점 자리수가 지정되지 않으면 f나 e는 모두 기본적으로 소수점 6자리로 출력합니다.
e는 정수 부분을 1자리만 출력하므로
1.234568 이 됩니다. 역시 소수점 마지막 6자리는 7째 자리에서 반올림 된 것이고
1.234568 은 원래의 값 1234.56789에서 소수점 위치가 왼쪽으로 3자리 이동했으므로 e+03이 되어
1.234568e+03으로 출력이 되는 것입니다.
오늘도 즐거운 하루 되세요.