todas temperatura las kelvin grados fahrenheit escalas escala entre ejemplos diferencias convertir conversión centígrados centigrados celsius c variables

temperatura - grados fahrenheit a centigrados ejemplos



¿Cuál es la diferencia entre% g y% f en C? (4)

% f y% g hacen lo mismo. La única diferencia es que% g es la forma más corta de% f. Esa es la precisión después de que el punto decimal sea mayor en% f en comparación con% g

Estaba pasando por el lenguaje de programación C de K&R. Aquí en una declaración para imprimir una variable doble se escribe

printf("/t%g/n", sum += atof(line));

Donde la suma se declara como doble. ¿Alguien puede ayudarme cuando use% g en caso de doble o en caso de flotación y cuál es la diferencia entre% g y% f?


Ambos son ejemplos de entrada / salida de punto flotante.

% g y% G son simplificadores de la notación científica que flota% e y% E.

% g tomará un número que podría representarse como% f (simple flotación o doble) o% e (notación científica) y lo devolverá como el más corto de los dos.

La salida de su declaración de impresión dependerá del valor de la suma.


Como Unwind señala, f y g proporcionan diferentes salidas predeterminadas.

En términos generales, si te importa más los detalles de lo que viene después del punto decimal, haría con f y si quieres escalar para grandes números, ve con g. De algunos recuerdos polvorientos, f es muy agradable con valores pequeños si imprime tablas de números, ya que todo se mantiene alineado, pero se necesita algo como g si se para un cambio de números y su diseño es importante. e es más útil cuando tus números tienden a ser muy pequeños o muy grandes pero nunca cerca de diez.

Una alternativa es especificar el formato de salida para que obtenga el mismo número de caracteres que representan su número cada vez.

Lo siento por la respuesta vaga, pero es una cuestión de salida subjetiva que solo obtiene respuestas difíciles si el número de caracteres generados es importante o la precisión del valor representado.


Ver cualquier manual de referencia, como la página de manual :

f, f

El doble argumento se redondea y se convierte a notación decimal en el estilo [-] ddd.ddd, donde el número de dígitos después del carácter de punto decimal es igual a la especificación de precisión. Si falta la precisión, se toma como 6; si la precisión es explícitamente cero, no aparece ningún carácter de punto decimal. Si aparece un punto decimal, al menos un dígito aparece delante de él. (El SUSv2 no sabe acerca de F y dice que las representaciones de cadena de caracteres para infinito y NaN pueden estar disponibles. La norma C99 especifica ''[-] inf'' o ''[-] infinito'' para infinito, y una cadena que comienza con ''nan ''para NaN, en el caso de la conversión f, y'' [-] INF ''o'' [-] INFINITY ''o'' NAN * ''en el caso de la conversión F).

g, g

El argumento doble se convierte en el estilo f o e (o F o E para conversiones G). La precisión especifica el número de dígitos significativos. Si falta la precisión, se dan 6 dígitos; si la precisión es cero, se trata como 1. El estilo e se usa si el exponente de su conversión es menor que -4 o mayor o igual que la precisión. Los ceros finales se eliminan de la parte fraccionaria del resultado; solo aparece un punto decimal si va seguido de al menos un dígito.