C에서 과학적 표기법으로 숫자 인쇄

Jinku Hu 2023년10월12일
  1. %E형식 지정자를 사용하여 과학적 표기법으로 숫자 인쇄
  2. %e형식 지정자를 사용하여 과학적 표기법으로 숫자 인쇄
C에서 과학적 표기법으로 숫자 인쇄

이 기사는 C에서 과학적 표기법으로 숫자를 인쇄하는 방법에 대한 여러 가지 방법을 보여줍니다.

%E형식 지정자를 사용하여 과학적 표기법으로 숫자 인쇄

숫자에 대한 과학적 표기법은 간결한 보편적 형식으로 크고 작은 값을 나타내는 데 널리 사용됩니다. 즉, 각 숫자는 소수점 앞에 하나와 10의 거듭 제곱으로 표시됩니다. 이 표기법이 실수뿐 아니라 정수와 수학적으로 호환되지만printf지정자%E는 부동 소수점 유형을위한 것입니다. 지수 표현은 문자E와 해당 부호 뒤에옵니다. 지수 값이 0이면 표시되는 형식은00입니다.

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  float n1 = 15000000;
  float n2 = -15000000;
  double n3 = 25.2132;
  double n4 = 0.00001302;

  printf("n1 (%%f) - %f: \n", n1);
  printf("n1 (%%E) - %E: \n", n1);

  printf("n2 (%%f) - %f: \n", n2);
  printf("n2 (%%E) - %E: \n", n2);

  printf("n3 (%%f) - %f: \n", n3);
  printf("n3 (%%E) - %E: \n", n3);

  printf("n4 (%%f) - %f: \n", n4);
  printf("n4 (%%E) - %E: \n", n4);

  exit(EXIT_SUCCESS);
}

출력:

n1 (%f) - 15000000.000000:
n1 (%E) - 1.500000E+07:
n2 (%f) - -15000000.000000:
n2 (%E) - -1.500000E+07:
n3 (%f) - 25.213200:
n3 (%E) - 2.521320E+01:
n4 (%f) - 0.000013:
n4 (%E) - 1.302000E-05:

%e형식 지정자를 사용하여 과학적 표기법으로 숫자 인쇄

또는%e형식 지정자는 표시된 문자가-[-]d.ddde±dd형식의 소문자라는 점을 제외하고 이전 예제와 동일한 기능을 갖습니다. 이제%e%E형식 지정자 모두 표시 할 자리 수를 나타내는 소수점과 정수를 오른쪽에 포함 할 수 있습니다. 사용자가 정밀도 정수를 제공하지 않으면 자동으로 6 자리로 설정됩니다. 다음 코드 샘플에서 볼 수 있듯이 음의 부동 소수점 숫자는 일반적인 10 진수 표기법으로 부호 기호를 가져옵니다.

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  float n1 = 15000000;
  float n2 = -15000000;
  double n3 = 25.2132;
  double n4 = 0.00001302;

  printf("n1 (%%f) - %f: \n", n1);
  printf("n1 (%%.2e) - %.2e: \n", n1);

  printf("n2 (%%f) - %f: \n", n2);
  printf("n2 (%%.1e) - %.1e: \n", n2);

  printf("n3 (%%f) - %f: \n", n3);
  printf("n3 (%%.2e) - %.2e: \n", n3);

  printf("n4 (%%f) - %f: \n", n4);
  printf("n4 (%%.1e) - %.1e: \n", n4);

  exit(EXIT_SUCCESS);
}

출력:

n1 (%f) - 15000000.000000:
n1 (%.2e) - 1.50e+07:
n2 (%f) - -15000000.000000:
n2 (%.1e) - -1.5e+07:
n3 (%f) - 25.213200:
n3 (%.2e) - 2.52e+01:
n4 (%f) - 0.000013:
n4 (%.1e) - 1.3e-05:
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook