Hace 17 años | Por benjami a es.wikipedia.org
Publicado hace 17 años por benjami a es.wikipedia.org

«El último segundo representable con este formato será a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador llegue a 2147483647. Un segundo después, el contador se desbordará, y saltará al valor -2147483648, que causará el fallo de programas que interpretarán el tiempo como que están en 1901 ó 1970 (dependiendo de la implementación), en vez de 2038.»

Comentarios

davidhdz

yo creo que de aquí al 2038 no existiran CPU's de 32 bit

mezvan

yo aspiro a mantener mi equipido hasta ese año ..

D

el 2038 va a llegaaaaaaaaaarrrr

Bueno, en el caso de java no afecta supongo, entre otras cosas porque los timeticks se guardan como long y no como int. Además si fuese el caso, con actualizar la API (y no los programas) bastaría.

g

Miradlo por el lado bueno, el día que eso suceda, todas las licencias se renovarán automáticamente.

sorrillo

Voy a ponerme un aviso en el Google Calendar para que me avise de este problema 2 años antes de que ocurra. Osea, para el 2036, yo mismo pondre de nuevo la noticia en meneame para que no nos olvidemos del problema.

jotape

#8 estamos a 2007 y seguimos usándolas de 8 bits...

jotape

#24 para operaciones con diferencias horarias. Si necesitas saber si X < Y, resta Y a X. Si el resultado es negativo, X < Y, sino, X >= Y.

PD: ¿Y tú estás en la FIB, mangurrián? lol

jotape

#4 el efecto 2000 no se notó porque se arregló a tiempo. El efecto 2038, por el contrario, se sigue extendiendo cada vez que se fabrica una CPU de 32 bits o se programa con el time_t de 32 bits con signo

D

Y a los entendidos en la materia: ¿Este error es subsanable? ¿Tendría algún efecto notable, al contrario que el efecto 2000?

mezvan

Esto es el fin ... a todas estas por esos días también nos va a impactar un meteorito ...

mimismo

¡ Esta noticia es antigua !
El caos ya lo predijo Jonh Titor ( http://es.wikipedia.org/wiki/John_Titor ) hace un par de años. De hecho, ese fue su principal motivo para viajar a nuestro tiempo lol!!!

"Los mensajes que dejó Titor afirman que era un soldado al cual se le asignó la misión de participar en un programa gubernamental de viajes en el tiempo. Supuestamente fue enviado desde 2036 hasta 1975 para conseguir un ordenador IBM 5100. Según él, esta máquina era necesaria para solventar el Efecto 2038, análogo al Efecto 2000, sufrido por los ordenadores con sistema operativo UNIX. "

(Ahora en serio, historia y toda la mitología al rededor de John Titor de verdad no tiene desperdicio ;))

D

tienes razón #30, yo mismo me he autocontestado en #29 al contestar a #28. jejejeje

raze

Es la SEÑAL. Una vez llegado ese punto, todo volverá a tal año y así sucesivamente... un ciclo sin fin.

jotape

#36
En ensamblador/lenguaje máquina, hay instrucciones para comparar enteros, lo que ya no sé es si lo que hacen es restar los números o no.
Sí, la circuitería del procesador usa restas para comparar. El ensamblador sigue siendo una abstracción (de las de más bajo nivel, claro)

Lo hagan restando o no, lo que se necesita es un signo para saber cual de los dos enteros que se comparan es el mayor.
Ya, eso es lo que tenemos ahora, aprovechamos el bit de signo del complemento a dos para comparar.

Y para hacer esto, no se necesita que los dos enteros a comparar tengan signo.
Y si restamos peras y manzanas obtenemos plátanos. O podemos restar peras y peras, manzanas y manzanas, plátanos y plátanos...

jotape

#14 si recordara la tecnología de hace 50 años, cumpliría -29 lol

D

#54 Aunque tengas un portátil de 16 bits, podrás estar a salvo del efecto 2038.

#51 Precisamente, debido a que GNU/Linux es un entorno opensource, no tiene el problema que tiene windows: Si tú mantienes tu actual XP hasta el 2038, te darás de bruces con el problema. Y esto ya no es como el efecto Y2K, aquí el propio núcleo está afectado. Sin embargo, en tu distribución de GNU/Linux no tendrás más que actualizar la libc. Un sólo paquetito y time_t saltará de alegría.
Esto... ¿te vuelvo a poner el bozal o prometes ser bueno?

hernan

Excelente informacion. Gracias.

jotape

#32 es que soy Einstein, ya sabes

gallir

pinar, mira #50, que en Linux ya está solucionado desde hace años con la arquitectura de 64 bits...

jotape

Arreglé el enlace, la ñ no se parseaba correctamente.

D

Para el 2038 usaremos todos CPUs de 128 bits, ni 64 ni leches

MrBlonde

Estoy con #21: ¿Por qué narices usan un contador con signo? Se pierde la mitad de segundos representables. Si esto tiene algún motivo, que alguien lo explique.

D

#21 a Moisés...

davidhdz

Es verdad, entonces preguntale a tus ancestros.

strider

#37 Y si restamos peras y manzanas obtenemos plátanos. O podemos restar peras y peras, manzanas y manzanas, plátanos y plátanos...

Joder, me recuerdas a Ana Botella... lol

raze

joder cuanto cálculo. Por casualidad no estaréis estudiando nada relacionado con la informática?

D

ya #26, pero aun así no hace falta usar un contador con signo. Para algo existen variables enteras auxiliares, cast de tipos, etc. El tema es que el creardor de este estándar de turno no penso mucho en lo que llegaría a ser la informática (a pasado en muchos campos, como interntet, que se desaprovechan muchísimas IPs válidas para tonterías como 127.0.0.1, etc)

jotape

#61 me gustaría saber si he sido yo (Rectificar es de sabios™)

jotape

#40
Pero se puede comparar sin restar, no nos hace falta la diferencia entre los dos, solo cual es mayor. Eso se hace en los lenguajes de alto nivel, en lenguaje máquina o en ensamblador. No hace falta cast ni nada parecido.
Explícale eso a los transistores de silicio de la CPU. Por cierto, que al #24 lo conozco personalmente, de verlo cada día, de ahí mi licencia (y dudo que le haya insultado)

#42 sí, ha sido mi intención lol

jotape

#47 excelente explicación, gracias

ksogui

Hombre, no creo que se pueda comparar con el efecto 2000 y las soluciones/chapuza de limitar el rango de fechas a un siglo para ir tirandillo, pero vamos, que tratándolo con antelación no será nada grave.

Ains... si es que los informáticos son unos chapuceros... oh, wait!

PD: Venga, alguien que reste cuánto queda para el 1/ene/10000 día del efecto 10.000 lol

f

Genial!! El mundo se ira al traste el dia de mi 58 cumpleaños!!

benjami

gracias #1, jotape

#21 no es una noticia de la Wikipedia, porque la Wikipedia no es un periódico. Tampoco es sobre la Wikipedia, porque no analiza cómo se trata allí esta información. Simplemente la Wikipedia explica bien esta noticia de una efeméride.

Felicidades, #39

skeletor

Me estais contando que dentro de 31 años,va a pasar exactamente lo mismo que en el 2000?.....osea NADA!!!!! que miedo mas grande tengo yo en el cuerpo...como nos descuidemos,nuestros microndas en vez de calentarnos la leche esa mañana,no la dejan congelada!!!!

davidhdz

JP, solo recuerda como era la tecnología hace 50 años.

DiThi

Que le quiten el signo y ya tenemos otro siglo y pico!!

Los que sepan de qué va el complemento a 2 sabrán que los números positivos y los equivalentes sin signo son iguales en binario.

jotape

#10 sí, Aramil, pero es que ciertos sistemas no requieren 64 bits (ni 32, ni 16). También es cierto que no siguen el estándard POSIX (ni ninguno, suelen ser de su padre y de su madre lol), pero usarse se usan.

Moore mola, pero para las CPU's de casa y tal, no para los entornos especializados.

pinar

otra noticia de la wikipedia ?

a quien se le ocurrió usar un contador con signo para implementar esto ?

D

#48 de nada sir jotape

D

#38 nooooooooooooooo que va

ev3c

pues es lo que les debe pasar con el boletín informativo de 20 minutos.es ya que llega con fecha 01/01/1970 1:00

D

Pero si no va a haber ni ordenadores, ni os preocupeis...

http://www.crisisenergetica.org/

davidhdz

Otro fallo 2K!

s

Voto el comentario anterior para el hoygan del dia...

D

preparense para las previsiones apocalipticas

j

En ensamblador/lenguaje máquina, hay instrucciones para comparar enteros, lo que ya no sé es si lo que hacen es restar los números o no. Lo hagan restando o no, lo que se necesita es un signo para saber cual de los dos enteros que se comparan es el mayor. Y para hacer esto, no se necesita que los dos enteros a comparar tengan signo.

davidhdz

Pero recuerda el avance tecnólogico, Ley de Moore y demás.

pinar

En realidad todo esto pasará si triunfa linux, ya que es un sistema Unix. Si la batalla la gana windows en realidad no tenemos de que preocuparnos. Almenos por esto.

D

Algún comentarista no entendió la diferencia entre CMP y TEST (y la implementación de las dos es distinta, os lo aseguro). Gallifante para el que señale al culpable. Y no, ensamblador no es un lenguaje de alto nivel que esconda las dificultades de la implementación.

Efectivamente el efecto y2k38 es injustificable y los responsables deberían ser colgados por los testículos.


Si tuviesemos un colegio profesional de informáticos, los responsables de esa cagada no volverían a ejercer nunca jamás

D

Pasará lo mismo que en el 2000: tropecientos de programas shareware para detectar y corregir el problema en su kiosco lol.

r

Que bien, no tengo ningún problema, y aunque ahora tengo un portatil de 64bits, creo que no durara para el 2038

D

pero #40, el "=" no es mágico, ni el ">=". Los circuitos del procesador tienen que restar, no les queda otra.

EDITO: Sí que hay circuitos que comparan sin restar, he metido la pata. Pero no creo que los procesadores actuales lo hagan así (es muy costoso en tiempo).

raze

Decidme que aprender todo eso es fácil

j

Bueno he sido algo exagerado diciendo lo de Einstein, lo reconozco, lo que pasa es que #26 se había metido con #24 y yo he hecho igual, igual que han hecho los demás conmigo.

Estoy de acuerdo en que restando dos enteros sin signo, no se puede comparar fechas pues el resultado de la resta siempre es un entero sin signo.
Pero se puede comparar sin restar, no nos hace falta la diferencia entre los dos, solo cual es mayor. Eso se hace en los lenguajes de alto nivel, en lenguaje máquina o en ensamblador. No hace falta cast ni nada parecido.

h

Menuda chorrada. Basta con poner un entero sin signo, y automáticamente desaparece el problema durante más de 60 años, hasta el 2106.

j

#26 eres un Einstein. Sigue sin tener sentido utilizar en este caso un contador con signo. Para ver de dos enteros sin signo cual es el mayor solo hay que compararlos, no hace falta restar. ¿o es que para ver si 988989 y 65656 cual es el mayor los restas primero?