The Y2010 Bug

January 25th, 2010

ATMNearly everyone is familiar with the Y2K problem, and technically-minded Chad’s News readers know of the looming Y2038 issue, but the Y2010 bug (also Y2K+10 or Y2.01K) seems to have caught everyone unaware.

Starting on January 1st, 2010, some computer systems thought the year was 2016. The Bank of Queensland’s EFTPOS system (in Australia) had this problem, and customers were unable to use their credit cards because the cards had “expired.” Many Germans had a similar problem.

Most computer scientists will figure this one out at first glance (although that didn’t happen here at Chad’s News). Just looking at the last two digits of the years, 10 and 16, should make the problem obvious. The bug was caused by the use of a fairly obscure numbering system known as binary coded decimal (BCD), where each digit of a base-10 decimal number is represented in base-16 (hexadecimal). So a hexadecimal 10, which is normally a decimal 16, is considered to be a decimal 10 instead. The code that failed did not understand this fact and treated the hex 10 as a decimal 16—thus the change from 2010 to 2016.

(via Slashdot)

Leave a Reply


HTML: You can use these tags.