본문 바로가기
C언어

[C언어] 실수 상수 표현법 (지수)

by 에파 2021. 5. 5.
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자리까지만 출력합니다.

댓글