mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Friday, December 02, 2005

C언어] 실수의 지수 표기법 (Scientific Notation;과학적 표기법)


예를 들어 1.00 을 1.000000e+000 이런 식으로 표현하는 방법입니다.

printf 함수나 sprintf 함수에서, %e (퍼센트 기호 + e 또는 E) 라는 형식 지정자를 사용하면 됩니다.

C에서, 숫자를 지수 표기 법으로 출력 예제


소스 파일명: 0.cpp
#include <stdio.h>

int main(void) {

  double num;


  puts("    [ -3.0 에서 3.0 까지 ]");

  for (num = -3.0; num <= 3.0; num++)
    printf("%.2f = %e\n", num, num);




  puts("\n    [ 0.0 에서 100.0 까지 ]");

  for (num = 0.0; num <= 100.0; num += 10.0)
    printf("%.2f = %e\n", num, num);




  puts("\n    [ 천 단위 이상 ]");

  num = 1000.0;
  printf("%.2f = %e\n", num, num);

  num = 10000.0;
  printf("%.2f = %e\n", num, num);

  num = 30000.0; // 그리고 e 를 대문자 E 로 출력
  printf("%.2f = %E\n", num, num);

  num = 35555.0;
  printf("%.2f = %e\n", num, num);

  num = 35555.123456789;
  printf("%.2f = %e\n", num, num);

  num = 35555.123456789; // 정밀도 높여 출력
  printf("%.16f = %.16e\n", num, num);




  puts("\n    [ 양수/음수 ]");

  num = 35555.0;
  printf("%.2f = %e\n", num, num);

  num = -35555.0;
  printf("%.2f = %e\n", num, num);




  puts("\n    [ 1보다 작은 수 ]");

  num = 1.0;
  printf("%f = %e\n", num, num);

  num = 0.0;
  printf("%f = %e\n", num, num);

  num = 0.1;
  printf("%f = %e\n", num, num);

  num = 0.01;
  printf("%f = %e\n", num, num);

  num = 0.005;
  printf("%f = %e\n", num, num);

  num = 0.99;
  printf("%f = %e\n", num, num);

  num = -0.99;
  printf("%f = %e\n", num, num);




  return 0;
}


가령 3.555500e+004 이런 숫자가 있을 때

10의 4승에, 3.555500 을 곱하면 35555.00 이 나오게 됩니다.

따라서 3.555500e+004 = 35555.00 입니다.


컴파일 및 실행 결과 화면:
D:\Z>cl 0.cpp && 0.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

0.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:0.exe
0.obj
    [ -3.0 에서 3.0 까지 ]
-3.00 = -3.000000e+000
-2.00 = -2.000000e+000
-1.00 = -1.000000e+000
0.00 = 0.000000e+000
1.00 = 1.000000e+000
2.00 = 2.000000e+000
3.00 = 3.000000e+000

    [ 0.0 에서 100.0 까지 ]
0.00 = 0.000000e+000
10.00 = 1.000000e+001
20.00 = 2.000000e+001
30.00 = 3.000000e+001
40.00 = 4.000000e+001
50.00 = 5.000000e+001
60.00 = 6.000000e+001
70.00 = 7.000000e+001
80.00 = 8.000000e+001
90.00 = 9.000000e+001
100.00 = 1.000000e+002

    [ 천 단위 이상 ]
1000.00 = 1.000000e+003
10000.00 = 1.000000e+004
30000.00 = 3.000000E+004
35555.00 = 3.555500e+004
35555.12 = 3.555512e+004
35555.1234567889990000 = 3.5555123456788999e+004

    [ 양수/음수 ]
35555.00 = 3.555500e+004
-35555.00 = -3.555500e+004

    [ 1보다 작은 수 ]
1.000000 = 1.000000e+000
0.000000 = 0.000000e+000
0.100000 = 1.000000e-001
0.010000 = 1.000000e-002
0.005000 = 5.000000e-003
0.990000 = 9.900000e-001
-0.990000 = -9.900000e-001

D:\Z>



▶▶ C언어/Perl] printf() 함수의 포맷 스트링 %s, %d - Format Specifier


지수 표기법 온라인 변환기: ▶▶ 지수 표기법 변환기, 과학적 숫자를 보통 숫자로 변환; Exponential Scientific Notation Convert




tag: cpp
C언어 | C/C++ (Visual C++)

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top