728x90
C언어 실수 상수 표현법 (지수)
실수는 소수점 형태와 지수 형태로 표현할 수 있습니다. 아래는 소수점 형태, 지수 형태, C 언어 표기법 순서로 동일한 값들입니다. e는 밑수 10을 의미하고 대문자도 가능합니다. 소수점 부분에서 무의미한 0이나 소수점은 생략 가능합니다.
0.0000314 = 3.14 x 10^-5 = 3.14e-5
= 0.314 x 10^-4 = 0.314E-4
= 31.4 x 10^-6 = 31.4e-6
지수 형태는 무수히 많은 방법으로 표현이 가능합니다. 그중 소수점 앞에 0이 아닌 유효 숫자 한 자리를 사용하여 지수 형태로 바꾼 것을 정규화 표기법이라고 합니다. printf 함수가 실수를 지수 형태로 출력할 때는 기본적으로 정규화 표기법을 사용합니다.
#include <stdio.h>
int main(void)
{
printf("%.1lf\n", 1e6);
printf("%.7lf\n", 3.14e-5);
printf("%le\n", 0.0000314);
printf("%.2le\n", 0.0000314);
return 0;
}
/*
<Run>
1000000.0
0.0000314
3.140000e-05
3.14e-05
*/
실행 결과에서 알 수 있듯이 지수 형태로 대입해도 소수점 형태로 출력된다는 것을 알 수 있습니다. 지수 형태로 출력하려면 7~8행과 같이 %le 변환 문자를 사용해야 합니다.
5행에서 1e6 은 지수 형태로, 1000000.0 을 표현한 것입니다. 이 것을 소수점 이하 1자리까지 출력합니다.
6행에서 3.14e-5 는 지수 형태로, 0.0000314 를 표현한 것입니다. 이 것을 소수점 이하 7자리까지 출력합니다.
7행에서는 0.0000314 를 지수 형태로 변환하여 출력하고, 8행에서는 0.0000314 를 지수 형태로 변환하여 출력하는데 소수점 이하 2자리까지만 출력합니다.
'C언어' 카테고리의 다른 글
[C언어] 상수의 비트 형태 (0) | 2021.05.07 |
---|---|
[C언어] 문자와 문자열 상수 표현법 (%c, %s) (0) | 2021.05.06 |
[C언어] 정수 상수 표현법 (진법) (0) | 2021.05.04 |
[C언어] printf 정수와 실수 출력 (0) | 2021.05.03 |
[C언어] printf 문자열, 제어 문자 출력 (0) | 2021.05.02 |
댓글