miércoles, 15 de diciembre de 2021

El número 2147483647

Hoy vengo a hablar de un número un poco especial: el 2147483647. Muchos pensaréis que qué tiene de interesante algo tan aleatorio. Pues la verdad es que esta secuencia de dígitos tiene mucho significado y podría llegar a causar problemas en un futuro no muy lejano.


Comencemos por saber de donde sale este número. Matemáticamente, es 2³¹ - 1, el octavo número primo de Mersenne. Estos primos se utilizan para designar el máximo entero no negativo en programación, siendo este número el máximo valor de 32 bits. Esto se debe a que en total habría 2³² valores, 2³¹ positivos y 2³¹ negativos. Con lo cual, el mínimo sería -2147483648, y el máximo sería 2147483647 (uno menos que el negativo ya que empieza desde el 0 y no desde el 1).

Pero ahora llega la pregunta del millón: ¿Qué tiene de especial todo esto?

La razón por la que he creado este artículo es porque este número se ve por todas partes, ya que hasta hace poco los ordenadores eran de 32-bits. Esto supone muchos problemas, como habréis visto en la imagen, el Gangnam Style fue el primer vídeo de YouTube en llegar a semejante cantidad de visitas, por lo que, al llegar a ese punto, el contador se rompió y empezó otra vez desde el -2147483648.

También se ve en contadores de programas y juegos (en este segundo caso el máximo de puntos/monedas/niveles que se pueden obtener son, normalmente, 2147483647).


Pero el problema llega cuando hay errores en sitios que deben funcionar correctamente, como el tiempo. Hoy en día, todos los ordenadores, incluso los que no tienen un sistema operativo basado en UNIX, usan su contador de tiempo (el Epoch de UNIX). Este empieza a contar segundos desde el 1 de enero de 1970 a las 00:00:00AM/UTC. Ahora mismo estamos por el segundo 1639596970. Y supongo que os habréis dado cuenta de que algún día llegará al 2147483647. En efecto, día 19 de enero de 2038 a las 03:14:07AM/UTC llegará a ese segundo.

Y aquí empieza el problema, un problema similar al del Y2K, que ocurrió porque los ordenadores usaban un formato de año de dos dígitos, lo cual produjo una serie de problemas al llegar al año 2000. En este caso, todos los sistemas con un procesador 32-bit empezarán a contar al revés, partiendo desde -2147483648 (2147483648 segundos antes de la fecha inicial), o el 13 de diciembre de 1901 a las 08:45:52PM/UTC. Esto no solo supone un problema para los usuarios, pero también para cualquier sistema importante que tenga un ordenador obsoleto, como las torres de control de los aeropuertos, lo cual supondría un retraso de vuelos, e incluso accidentes.

Pero no os preocupéis, todos vuestros dispositivos están a salvo puesto que en los últimos 8 años se han normalizado los procesadores de 64 bits, y además sistemas operativos como Windows y servicios como Google tienen actualizados sus sistemas horarios. Seguramente en poco tiempo todo será seguro.

No hay comentarios:

Publicar un comentario

Que verás en tu primer año de ingeniería informática

Aquí os dejo un interesante vídeo de Antonio Sirosi que os enseñará lo que veréis en vuestro primer año de carrera si decidís estudiar ingen...