19:12
5/1/2010

Gdzieniegdzie pojawiły się doniesienia o tym, że niektóre SMS-y otrzymane po nowym roku przychodzą z datą 2016, a nie 2010. Poniżej wyjśniamy, skąd wziął się komórkowy problem roku 2016.

Problem roku 2016

…polega na nieprawidłowym wyświetlaniu daty. Zamiast 2010, niektóre z kart kredytowych, terminali płatniczych, centralek telefonicznych, telefonów komórkowych z Windows Mobile na pokładzie i innych urządzeń elektromechanicznch pokazują datę 2016. Wina, jak zwykle, leży po stronie programistów ;) Poprawmy zatem nieprecyzyjne artykuły prasowe, prezentując wyjaśnienie magicznego błędu:

Dzięsiątkę w 2010 można zapisać w ten sposób: 0x10, co zawsze oznaczać będzie 0001 0000.

Jeśli 0001 0000 zostanie zinterpretowane przez urządzenie jako liczba binarna, otrzymamy dziesiętną wartość 16
Jeśli 0001 0000 zostanie zinterpretowane jako notacja BCD (Binary Coded Decimal), w której cyfry 0-9 są reprezentowane przez kody od 0000 do 1001, liczba 0001 0000 da wynik 10.

BCD to system kodowania, który liczby heksadecymalne i binarne prezentuje w zakodowanej postaci, ale liczby dziesiętne już w formie rozkodowanej. Innymi słowy, programista odczytał datę jako liczbę jako binarną, a nie liczbę w notacji BCD. Ot, tajemnica rozwiązana.


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

9 komentarzy

Dodaj komentarz
  1. Cóż, było trochę o tym na przedmiocie zwanym Techniką Cyfrową, jak widać akademicka wiedza się czasem przydaje. ;]

  2. Patrzta się, o BCD czytałem jeszcze na początku lat dziewięćdziesiątych w kursie asemblera w nieocenionym miesięczniku „Tajemnice ATARI”. Nigdy nie wiadomo, kiedy jaka wiedza się przyda. ;P

  3. @Tomasz Kowalczyk, w technikach też o tym uczą ;-)

  4. Ew. komuś się hexy z dec pomyliły:
    0x09 hex = 09 dec
    0x10 hex = 16 dec
    Zamiast błąd roku 2010 powinien byc raczej “błąd niekometentnego programisty” ;]

  5. @Marek Zając: Niestety jestem po liceum, ominęły mnie takie ciekawostki. ;]

  6. Szkoda, że Piotr nie wymienił więcej przykładów, jest nieco więcej sprzętu i oprogramowania dotkniętego problemem roku 2010. Opisałem to po krótce u siebie: http://stilger.eu/2010/01/06/problem-roku-2010/

  7. Pewnie nie chciał Ci zabierać materiału. ;]

  8. bardzo możliwe:)

  9. @Tomasz Kowalczyk: to tak dla rozjaśnienia sytuacji ;]

Odpowiadasz na komentarz Tomasz Kowalczyk

Kliknij tu, aby anulować

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: