Truculencias

Pequeñas miserias que merece la pena contar

El fin del mundo podría ser martes… o jueves

5 dAmerica/New_York May, 2006

Pues sí… todo parece indicar que el día de semana en el que podría caer el mismísimo día del juicio final podría ser martes o jueves… y comprendiendo la estupefacción del lector, que sin duda estará pensando en recomendarme que salga a buscar rápidamente la olla que se me perdió, me dispongo a explicar mis sospechas bajo las cuales, si fuesen ciertas, habría un 50% de probabilidad de que el día del fin del mundo no fuese buena idea casarse y/o embarcarse.

La verdad que la sospecha apareció hoy mientras trabajaba programando unas historias durante mi jornada matinal. Resulta que, estando yo buscando un típico error absurdo con el depurador (el gdb, para más información) me encontré con la siguiente situación:

“Si consideramos el máximo valor posible de una variable entera (con signo) de 32 bits como el número de segundos transcurridos desde el 1 de enero de 1970 (lo normal en informática), nos sale que la última fecha representable cae a Martes (ni te cases, ni te embarques).”

Y claro, ante tan curioso descubrimiento no quise sino hacer otra cosa que comentarlo con mi compañero Jose Riguera a ver que opinaba… y fue después de escuchar mi exposición y ver las pruebas concluyentes en la ventana del depurador cuando, tras meditar durante unos segundos, Jose matizó:

“Ummm.. puede ser… siempre y claro el universo sea de 32 bits, claro.”

Tal comentario me hizo retroceder un poco en mi estado de júbilo y plantearme, más que nada por curiosidad, comprobar a que día de semana caería, teniendo en cuenta las mismas consideraciones, si el fin de los días estuviese representado por el máximo valor (con signo una vez más) posible de una variable entera en 64 bits: Jueves.

Como es normal, la presente discrepancia de opiniones entre las dos precisiones comprobadas para enteros con signo nos sembró una duda quizás más trascendental que el día de semana del apocalipsis:

“El universo… ¿es de 32 o de 64 bits?“

Absurda pregunta le podría parecer a más de uno (aunque estoy seguro de que Carlos la considerará más bien interesante), sin embargo a Jose y a mí nos dio que pensar bastante… y tras meditar unos instantes enunciamos la siguiente hipótesis:

“El refranero español es sabio, y si dice que ‘en martes ni te cases ni te embarques’ será por algo… eso combinado con que el día del juicio final no parece un buen día para contraer matrimonio o irse de pesca, nos da la pista de que igual el refrán tenga su origen en alguna profecía que anunciase el fin de los días para un martes. Y, de ser cierto que el refrán estuviese haciendo referencia al día del fin del mundo, todo parecería indicar entonces que el universo sería de 32 bits”

Sin embargo a nuestras mentes inquietas le pareció extraño que la inmensidad del universo estuvise representada tan solo con 2.147.483.647 números positivos (y otros tantos negativos) diferentes… Sin ir más lejos, téngase en cuenta que con 2.147.483.647 números positivos se podrían representar, por poner un ejemplo cualquiera, los segundos de tan sólo 68 años y pico, lo que evidentemente no parece suficiente… por no decir que según eso, y considerando que son segundos a partir del 1 de enero de 1970, el mundo se acabaría en el 2038, lo que sin duda se podría de considerar por lo menos como algo alarmante.

Y fue precisamente para dar respuesta a tantas dudas que decidí escribir un pequeño programa en C que me imprimiese por pantalla los máximos valores de variables enteras, con y sin signo, de 32 y de 64 bits, junto con el día de semana que sería el fin del mundo si estuviese determinado por el número de segundos que representan cada uno de estos valores. Y, ya puestos, a mayores que imprimiese también el máximo número de años representables, siguiendo estas convenciones, con cada uno de los cuatro valores… y este es el resultado:

Máximo gint32: 2147483647 | Años = 68 | Día: Martes
Máximo guint32: 4294967295 | Años = 136 | Día: Jueves
Máximo gint64: 9223372036854775807 | Años = 292271023045 | Día: Jueves
Máximo guint64: 18446744073709551615 | Años = 584542046091 | Día: Jueves

Bueno, bueno… esto si que es curioso… resulta que 3 de los números probados coinciden en que el fin del mundo no sería Martes sino Jueves, con lo que embarcarse y/o casarse no estaría siendo desaconsejado, entre otras cosas…

Llegados a este punto ya no sé que pensar… ¿Me dejo llevar por principios democráticos y considero que el fin del mundo cae a Jueves y que el universo es realmente de 64 bits? (dos valores de 64 bits coinciden en el Jueves, mientras que solo uno de los valores de 32 bits lo hacen) ¿Sigo pensando que es de 32 bits basándome en el refranero español? ¿Quizás no tiene nada que ver todo esto que estoy relacionando aquí y sería mejor que me fuese a tomar unas cañas?(lo más probable, por otra parte) Pues la verdad… no lo sé, así que dejo el hilo abierto para que cualquiera exprese su opinión ante este hecho surgido de las entrañas de uno de esos errores absurdos que a menudo hay que resolver al andar haciendo programitas por ahí.

Mario.

Posted by Truculencias Filed in Elucubraciones, Informática
No Comments »
  •  

    May 2006
    M T W T F S S
    « Apr   Feb »
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • Categories

    • Elucubraciones
    • General
    • GNU/Linux
    • Informática
    • Internet
    • Música
    • Personal
    • Proyecto Chipirón
    • Reflexiones
    • Trabajo
    • Trasteando
    • Videojuegos
  • Blogs

    • Salustiano y Ceferino, vida y hechos
    • Vento mareiro
  • Enlaces aleatorios

    • Art of diabolo
    • Diabolo tricks
    • Doom3 en Linux
    • El tratado del Marrón
    • Gnome Art
    • GNOME Files
    • Gnome-Look
    • The Voluntary Human Extinction Movement
  • Informática

    • Barrapunto
    • Eclipse.org
    • GNOME Hispano
    • Java
    • Open Source Erlang
    • Richard M. Stallman
    • Slashdot
    • The GNU Operating System
    • Ubuntu Linux
  • Música

    • AC/DC
    • Los enemigos
    • Los Suaves
    • O'funk'illo
    • Rory Gallagher
    • Siniestro total
  • Proyecto Chipirón

    • A veces soy tremendo...
    • Reductio ad absurdum
  • Archives

    • May 2008
    • April 2008
    • December 2007
    • October 2007
    • September 2007
    • June 2007
    • May 2007
    • February 2007
    • May 2006
    • April 2006
    • September 2005
    • July 2005
    • June 2005
    • May 2005
    • April 2005
  • Artículos recientes

    • Nada es lo mismo que el nihilismo
    • ¿Comida basura? Puede que si… ¡pero aún hay clases!
    • Bricoconsolas (o de como ayudar a un amigo a ejecutar backups de juegos en su PS2 Slim)
    • Porque me apetece
    • Costuras, muertos y palmareses
  • Últimos comentarios

    • Tremendo on Nada es lo mismo que el nihilismo
    • Tremendo on ¿Comida basura? Puede que si... ¡pero aún hay clases!
    • Tremendo on Bricoconsolas (o de como ayudar a un amigo a ejecutar backups de juegos en su PS2 Slim)
    • Herminia on Porque me apetece
    • Tremendo on Porque me apetece
  • Meta

    • Login
    • Entries RSS
    • Comments RSS
    • WordPress.org
Truculencias is proudly using the Simpla theme originally designed by Phu. Powered by WordPress