Lo que todo programador debería saber sobre aritmética de punto flotante

o

¿Por qué mis números no se suman bien?

O sea que has escrito algún código absurdamente simple, como por ejemplo:

	0.1 + 0.2

y has obtenido un resultado totalmente inesperado:

	0.30000000000000004

Tal vez pediste ayuda en algún foro y te mandaron a un artículo largo con un montón de fórmulas que no parecía ser de ayuda.

Bueno, este sitio está aquí para:

Deberías ir a la sección de Respuestas básicas primero ─ ¡pero no termines ahí!

Sobre la notación y la nomenclatura

Aunque tanto el punto como la coma son válidas como marcas decimales según el Sistema Internacional y la norma ISO1, las Academias de la Lengua recomiendan el punto2. Esto facilita las cosas, porque se converge así con la notación anglosajona que es la que se utiliza en la mayoría de lenguajes de programación. En este sitio se ha optado por la denominación «punto flotante» en lugar de «coma flotante», puesto que la Fundación del Español Urgente (Fundéu BBVA) especificó en una consulta que debe haber correspondencia con el criterio adoptado para la marca decimal.

  1. Bezos, Javier. La marca decimal <http://www.tex-tipografia.com/marca_decimal.html>
  2. Bezos, Javier. Las notaciones científicas en la Ortografía académica <http://www.tex-tipografia.com/ortografia_notaciones.html>

© Publicado en http://puntoflotante.org/ bajo una licencia Creative Commons Atribución Unported (BY). Original en inglés por Michael Borgwardt en http://floating-point-gui.de/.

Fork me on GitHub