Especificador de formato %G en C
En este artículo, aprenderemos sobre el especificador de formato %g
utilizando el lenguaje de programación C.
Especificadores de formato en lenguaje de programación C
Los especificadores de formato no son más que un tipo especial de cadena u operador que se puede usar en C. A menudo se usan para recopilar información del usuario y generar información para la consola.
Su objetivo es indicar al compilador el tipo de datos de cualquier información que se ingrese o produzca. Cuando hablamos de tipos de datos, nos referimos a cosas como enteros, cadenas, flotantes, etc.
No hay un solo tipo de datos que no tenga su propio conjunto único de especificadores de formato. El signo %
es siempre el primer carácter de un especificador de formato, seguido de una cadena de otros caracteres.
Se utilizan con scanf
para entrada y printf
para salida en el lenguaje de programación C. Los siguientes son algunos de los especificadores de formato usados en el lenguaje de programación C.
Especificador de formato | Descripción |
---|---|
%g |
Similar a %e o %E |
%f |
Especificador de formato flotante |
%c |
Especificador de formato de caracteres |
%s |
Especificador de formato de cadena |
%e |
Notación científica de flotadores |
%d |
Especificador de formato de entero |
%x |
representación hexadecimal |
el especificador de formato %g
en C
Utiliza el estándar de precisión fija para imprimir números decimales de punto flotante y se utiliza para ese propósito. En el lenguaje de programación C, el especificador de formato %g
se utiliza cuando se trabaja con datos de tipo decimal que pueden almacenarse en los tipos de datos doble
y flotante
de C.
El %g
toma un número que podría representarse como %f
(un simple flotante o doble) o %e
(notación científica), y devolverá el número en el formato más corto de los dos.
En el siguiente ejemplo, tomaremos tres valores del tipo de datos doble, denominados “primer valor, segundo valor” y “tercer valor”, y luego imprimiremos estos valores uno a la vez usando la notación %g
y %g
. .
Ejemplo de código:
#include <stdio.h>
int main() {
double firstValue = 123.45;
printf("Printing 123.45 using %%g %g\n", firstValue);
printf("Printing 123.45 using %%G %G\n\n", firstValue);
double secondValue = 123.45e8;
printf("Printing 123.45e8 using %%g %g\n", secondValue);
printf("Printing 123.45e8 using %%G %G\n\n", secondValue);
double thirdValue = 123.45e-8;
printf("Printing 123.45e-8 using %%g %g\n", thirdValue);
printf("Printing 123.45e-8 using %%G %G\n", thirdValue);
return 0;
}
Producción :
Printing 123.45 using %g 123.45
Printing 123.45 using %G 123.45
Printing 123.45e8 using %g 1.2345e+10
Printing 123.45e8 using %G 1.2345E+10
Printing 123.45e-8 using %g 1.2345e-06
Printing 123.45e-8 using %G 1.2345E-06
I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.
LinkedIn