Încă un exemplu de lucru prost proiectat … modul în care calculatoarele gestionează ora, adică sub forma unui numărător pe 32 de biţi, numărând secundele de la 01.01.1970 ora 00:00. Doar că prin 2038 se dă peste cap numărătorul nostru. Cam aşa:
The Year 2038 Problem, or Y2038, specifically affects software using a 32-bit integer system and has been theorised for years. 32-bit systems use four bytes, which mean they can use 4GB of memory in one go. By comparison, a 16-bit system uses two bytes and 64-bit systems use eight. The upper limit of numbers that a 32-bit system can store is 2,147,483,647.
This standard four-byte format assumes the beginning of time is 1 January, 1970, at 12:00:00 a.m. When the clock strikes 03:14:07 UTC on Tuesday, 19 January 2038, a total of 2147483647 seconds since the 1 January 1970 will have passed.
Computers will then not be able to distinguish between the real time and date, and the year 1901. This is called an ‘integer overflow’, and means the counter has run out of usable bits and begins reporting a negative number.
Ce ne facem?