Problem roku 2038

Kiedyś mówiło się o problemie roku 2000 ze względu na 2-cyfrowy zapis dat. Tym razem problem dotyczy 32-bitowego zapisu daty w systemach Unix/Linux. Problem jest gorszy od b---y milenijnej, bo dotyczy znacznie większej ilości urządzeń

- #
- #
- #
- #
- #
- #
- 168
- Odpowiedz






Komentarze (168)
najlepsze
Komentarz usunięty przez moderatora
To, że przyjmie wartość ujemną jest zrozumiałe z powodu kodowania U2:
2 147 483 647 -> 0x7FFF FFFF -> ++ -> 80000000
Natomiast dlaczego miałby się wyzerować, co stanie się z MSB?
https://www.gnu.org/software/libc/manual/html_node/Time-Types.html
To co pisze na Wiki prawdopodobnie wynika z faktu ze standard C nie definiuje typu podstawowego dla timet i pozostawia swobodę wyboru między integer a float (ale zgaduje tutaj bo sam się zastanawiam czemu ktoś napisał że się wyzeruje).
Natomiast w większości obecnych systemów jest to
Uważam, że edytujący wiki nie zrozumiał co napisał, w ang.-języcznej wersji jest mowa, że po osiągnięciu 0x80000000 na skutek przekształceń może wyzerować się data wskazując początek epoki. Nie wskazują tam na zerowanie licznika przechowywującego liczbę sekund i to jest zgodne z prawdą i logiką.