Desde crear explosiones en cohetes hasta romper la Internet, descubre qué poderes tiene esta enigmática cifra.
Por Gabriela González para Think Big. Existen
humanos extraordinariamente inteligentes que entienden números y
matemáticas de una manera poco común. Hay otras personas, como yo, que
nunca han sido muy hábiles con los números y es por eso que terminan
dedicando su vida a otras áreas. Sin embargo, cualquier amante
de la tecnología sabe que los ordenadores trabajan con números en su
nivel más básico y por esta misma razón, es fácil asumir que los
ordenadores y los números siempre se llevan bien. Esto no es totalmente
cierto.
Aparentemente, existe un bug de software muy simple que hace que
muchos computadores, sin importar cuál sea su finalidad, dejen de
funcionar completamente en frente de un número: 2.147.483.647. Este
número tiene un poder tan fuerte que puede crear explosiones en cohetes,
hacer que aviones “desaparezcan”, romper la Internet y cosas un poco
menos desastrosas, como detener los contadores de visitas en vídeos de
YouTube, o la cantidad de puntos ganados en un juego.
¿Qué se trae 2.147.483.647?
2.147.483.647 se le lee como: dos mil ciento cuarenta y siete
millones, cuatrocientos ochenta y tres mil, seiscientos cuarenta y
siete. Leonhard Euler, un matemático y físico suizo, probó en
1772 que era el número primo más grande que existía, y continúo teniendo
este puesto hasta 1851.
Después de tener un comienzo tan importante en el mundo de las
matemáticas, también ha tenido una historia interesante en el área de la
computación. Este número es el valor positivo máximo que un sistema de 32-bit puede tener. Puede
ser que esto no suene como un problema realmente porque se trata de un
número enorme con 10 dígitos, pero la verdad es que sí lo es, porque
cuando un sistema de 32-bit se enfrenta a la posibilidad de obtener
números mayores a él, se creará un error llamado “desbordamiento
aritmético” .
Cuando el desbordamiento aritmético se vuelve un problema
Quizás el desbordamiento aritmético no suene como gran cosa en
situaciones como la que se le presentó a YouTube durante diciembre de
2014 cuando el vídeo que hizo famoso a PSY, “Gangnam Style”,
llegó a las 2.147.483.647 views y el sistema de 32-bit de la web de
vídeos no pudo continuar contándolas porque simplemente había llegado a
su máximo. Pero esto sí es un problema cuando se usan sistemas de 32-bit para misiones espaciales y aviones comerciales.
El 4 de junio de 1996 despegó el primer vuelo del cohete Ariane 5 manejado
por la Agencia Espacial Europea. Dentro de él no había una tripulación
pero sí estaba cargado con cuatro satélites científicos muy costosos. El
vuelo explotó apenas 39 segundos después de despegar, perdiendo alrededor de 370 millones de dólares. Después
de un poco de investigación se dieron cuenta que el problema no era más
que un bug de software que involucraba el número 2.147.483.647. Aparentemente,
Ariane 5 necesitaba una aceleración horizontal mayor que los modelos
previos porque su trayecto era distinto, y esto hizo que todos los
computadores que controlaban el auto-piloto se confundieran y que
comenzara una secuencia para auto-destruirse.
Entendiendo mejor el problema
Muchos lo vivimos durante el Y2K, algunas personas creyeron que
cuando terminara el siglo XX, los ordenadores dejarían de funcionar, los
aviones se caerían del cielo, y algunos hasta pensaron que los
extraterrestres vendrían a buscarlos. El problema real al final de 1999
es que todos los ordenadores estaban programados para tomar los últimos
dos dígitos del año para saber en cuál estábamos. Entonces, si era el
año 1984, por ejemplo, el ordenador lo denotaba como “84” y nada más.
Con la llegada del 2000, el ordenador se confundiría, creyendo que
después de 1999 se regresaría a 1900, tomando los dos últimos dígitos
del nuevo año.
Esto no se convirtió en un problema porque los sistemas
fueron arreglados antes de que lo fuese, pero es un buen ejemplo de lo
que sucede con el número 2.147.483.647 en los sistemas de 32-bit cuando
llegan a su punto máximo. Afortunadamente, ahora tenemos los sistemas de
64-bit que no sufren de esta limitación.
Por AETecno en Desarrollo