Quizá tengas edad para recordar el «Problema del año 2000» o el «Error del Milenio». Cuando a mediados del siglo XX, los jóvenes informáticos comenzaron a elaborar sus complejos programas, pasaron por alto algo trivial: que unos 50 años más adelante habría un cambio de siglo, e incluso de milenio.
De hecho, todavía mucho tiempo después, el futuro acontecimiento era más mencionado por los pronosticadores de supuestos cataclismos ligados a las fechas singulares que por los especialistas en computación.
Todas las fechas que generaban los programas de computación incluían el día, mes y año, pero nada que identificara el siglo en curso, ni mucho menos el milenio. Solo tenían reservados dos dígitos para el año; por ejemplo, 1975 era 75 y nadie pensó que con el cambio de siglo y de milenio habría que pasar a un formato de cuatro dígitos para el año. Se temía que al llegarse al primer nanosegundo del año 2000, los ordenadores pasarían del 31 de diciembre de 1999 al 01 de enero de 1900.
Hubo angustia por el posible colapso de los sistemas, llegada la fecha fatídica. Se habló de una hipotética paralización del transporte aéreo y terrestre controlado por computadoras. Las únicas encantadas eran las damas que detestan hablar de la edad, ya que esta no solo bajaría sino que se expresaría en años negativos. Al final, los programadores resolvieron el problema antes del megadesastre y los eventos negativos en todo el mundo fueron marginales.
El 2 147 483 647 es un número con mucha historia
No vayas a creer que el 2 147 483 647 es un número cualquiera. Los matemáticos creen que fue el número primo más alto, comprobadamente conocido, hasta 1876. Recordarás que un número primo es aquel entero que solo es divisible exactamente por sí mismo y por la unidad. Por eso es importante en el manejo de magnitudes enteras en la programación de ordenadores.
En un tiempo sin computadores, para saber sí un número era primo, había que fajarse a hacer división por división, con lápiz y papel. El principal tema de los matemáticos en su correspondencia escrita era la ciencia que los unía. El primero en avisar emocionado que nuestro número era primo fue el suizo Leonhard Euler, máxima figura de las matemáticas del siglo XVIII, en carta a su colega y compatriota Daniel Bernoulli, el físico y matemático que formuló la teoría cinética de los fluidos.
Los límites de la programación de ordenadores
Para muchos de los ordenadores actuales, el 2 147 483 647 es el «no va más». Es el máximo valor entero positivo que puede almacenar un registro en la arquitectura computacional de 32 bits. Para ponerlo en términos triviales, en muchos coches, cuando el contador de kilómetros llega a 99 999, ese es su «no va más». No existe el kilómetro 100 000 y hay que ponerlo de vuelta en cero para que inicie su segundo conteo.
El problema con los ordenadores es que un cambio parecido no lo podríamos hacer nosotros mismos. Otro ejemplo: el 2 147 483 647 es el máximo de puntuación en varios videojuegos. Una fecha clave será 2038, aún a 23 años de distancia, pero mucho más cerca de lo que estaba el año 2000 para los programadores de 1950.
El 19 de enero de 2038, el contador de segundos de muchos ordenadores llegaría a 2 147 483 647.
¿Qué sucedería en el segundo siguiente? Se supone que sería algo gordo. Lo más probable es que las arquitecturas afectadas ya sean piezas de museo para esa fecha, pero ¡cuidado! Frecuentemente lo dejamos todo para última hora. Todavía en diciembre de 1999 había gente muy tensa por lo que pensaban que podía suceder comenzando el 2000.
¿Sabías que hasta casi entrando al siglo XX, los números primos no estaban allí, casi disponibles al primer golpe de vista, sino que tenían que ser descubiertos a base de sudor? ¿Conocías la importancia del número 2 147 483 647? ¿Qué te ha parecido?
No hay comentarios:
Publicar un comentario