Why was Y2K specifically a big deal if computers actually store their numbers in binary? Why would a significant decimal date have any impact on a binary number?

1.49K views

I understand the number would have still overflowed *eventually* but why was it specifically new years 2000 that would have broken it when binary numbers don’t tend to align very well with decimal numbers?

EDIT: A lot of you are simply answering by explaining what the Y2K bug is. I am aware of what it is, I am wondering specifically why the number ’99 (`01100011` in binary) going to 100 (`01100100` in binary) would actually cause any problems since all the math would be done in binary, and decimal would only be used for the display.

EXIT: Thanks for all your replies, I got some good answers, and a lot of unrelated ones (especially that one guy with the illegible comment about politics). Shutting off notifications, peace ✌

In: 478

84 Answers

Anonymous 0 Comments

I feel really bad for OP. Very few people in this thread are even understanding the specific question.

No, storing just 2 characters rather than 4 does not ‘save memory’ that was scarce in the 90s. Nobody anywhere ever with even a passing understanding of computers has used ASCII dates to do date arithmetic, so this was never an overflow problem. If you want two bytes for year, you just use a u16 and you’re good for the foreseeable.

The overwhelming majority of timestamps were already in some sensible format, such as 32bit second precision from some epoch. Or some slightly retarded format such as 20+20bit 100 milliseconds precision (JFC Microsoft). None of this time data had any issues for the reasons OP states. No fixes needed to be done for y2k on any of these very common formats.

The problem was simply data in some places at rest or in some human facing interface was ASCII or BCD or 6 or 7bit encoded and that data became ambiguous, as all of a sudden there were two possible meanings of ’00’.

What made this bug interesting was that it was time sensitive. Ie as long as it’s still 1999, you know that all 00 timestamps must be from 1900, so you have a limited time to tag them all as such before it’s too late.

You are viewing 1 out of 84 answers, click here to view all answers.