Como todos saben, tiene una precisión limitada cuando usa printf
para generar el valor de float
.
Sin embargo, hay un truco para aumentar la precisión en la salida, como muestra este ejemplo:Precisión de flotadores con printf
#include <stdio.h>
int main()
{
float f = 1318926965; /* 10 random digits */
printf("%10.f\n", f); /* prints only 8 correct digits */
printf("%10d\n", *(int*)&f); /* prints all digits correctly */
return 0;
}
y mi pregunta es, ¿por qué las personas no utilizan este truco más a menudo?
Porque el comportamiento potencialmente indefinido es malo. (Editar: Técnicamente puede no ser un comportamiento indefinido, ya que no estoy seguro de lo que dice el estándar al respecto. Sin embargo, Endianess podría morderte con esto) – Corbin
¡+1 para una buena broma de abril! – Henrik
Aparentemente me consiguió x.x – Corbin