Red de conocimiento del abogados - Ley de patentes - ¿El lenguaje C está redondeando o redondeando?

¿El lenguaje C está redondeando o redondeando?

4 definitivamente está fuera, 6 definitivamente está dentro, ¡pero 5 es “difícil de decir”! Esto se debe a que todas las operaciones de punto flotante en C se tratan como tipos dobles, y los resultados de la operación también son tipos dobles, pero los datos dobles o flotantes finalmente mostrados en la pantalla no pueden expresar completamente el tipo doble porque sus dígitos decimales no pueden expresar completamente el tipo doble; Los datos de tipo doble (binario de 64 bits) deben "redondearse" y truncarse. De esta forma, aunque el último dígito mostrado sea 5, puede ser el resultado de redondear hacia arriba el número gt;...45, o puede ser el resultado de descartar el número lt;...55. Sin embargo, durante la operación se toma el número original, lo que crea una ilusión: parece que "5" a veces se redondea y otras veces se redondea. De hecho, C/C sigue estrictamente el principio de "lt; 5 redondeos, gt; = 5 redondeos".