Notasbit

Las mejores noticias de tecnología en un sólo lugar

Publicado por: Microsiervos

Publicado en: 17/02/2025 03:20

Escrito por: [email protected] (alvy)

Una historia épica de ingeniería y matemáticas acerca de la calculadora de Android

Una historia épica de ingeniería y matemáticas acerca de la calculadora de Android

Está circulando mucho esta historia de Chad Nauseam que se publicó originalmente como hilo de Twitter titulada ¿Una app de una calculadora? Cualquiera puede hacer eso. Es un relato sumamente entretenido acerca de cómo Google encargó el desarrollo de la Calculadora original de Android a Hans-J. Boehm, un ingeniero que se obsesionó con el tema y con crear la calculadora perfecta.

El problema a resolver es que incluso crear una sencilla calculadora que funcione bien, bien y se vea de forma perfecta (y no muestre algo como 0,000000) no es tan fácil como parece. La conversión entre binario (coma flotante) y decimal complica las cosas y luego ciertos números, ya sea por grandes, pequeños o precisos, aún más.

Y es que no todo es como repartir la cuenta del restaurante entre un pequeño número de comensales. Expresiones como (10^100) + 1 − (10^100) deberían dar 1, no 0 como muestran algunas calculadoras. La cosa se complica cuando aparecen fracciones y números irracionales o transcendentales.

Boehm comenzó empleando bignums (números enteros sin límite de tamaño), luego pasó a fracciones de precisión arbitraria y después a números algebraicos, capaces de representar raíces cuadradas. Pero eso dejaba fuera a números transcendentales como π.

El caso es que poco a poco acabó construyendo un motor de evaluación aritmética y usando una representación híbrida: números expresados como el producto de un número racional por un número real, usando la llamada aritmética real recursiva (RRA) solo cuando era necesario. Para optimizar la velocidad añadieron una …

Top noticias del 17 de Febrero de 2025