Imprimir números en notación científica en C
-
Utilice el especificador de formato
%E
para imprimir números en notación científica -
Utilice el especificador de formato
%e
para imprimir números en notación científica
Este artículo demostrará varios métodos sobre cómo imprimir números en notación científica en C.
Utilice el especificador de formato %E
para imprimir números en notación científica
La notación científica para números se usa ampliamente para representar valores grandes y pequeños con una forma universal concisa. Es decir, cada número se representa con un solo antes del punto decimal y la potencia de 10. Aunque esta notación es matemáticamente compatible tanto con números enteros como con números reales, el especificador printf
%E
está destinado al tipo de punto flotante. Tenga en cuenta que la representación del exponente va seguida de la letra E
y el signo correspondiente. Si el valor del exponente es cero, el formato que se muestra es 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);
}
Producción :
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:
Utilice el especificador de formato %e
para imprimir números en notación científica
Alternativamente, el especificador de formato %e
tiene las mismas características que el ejemplo anterior, excepto que la letra que se muestra está en minúsculas en forma de - [-]d.ddde±dd
. Ahora, los especificadores de formato %e
y %E
pueden incluir un punto decimal y un número entero en el lado derecho para indicar cuántos lugares mostrar. Si el usuario no proporciona el número entero de precisión, se establece automáticamente en 6 lugares. Como se muestra en el siguiente ejemplo de código, los números de coma flotante negativos solo obtienen el símbolo de signo como la notación decimal habitual.
#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);
}
Producción :
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:
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