Need a book? Engineering books recommendations...

Return to index: [Subject] [Thread] [Date] [Author]

RE: Year 2000 computer problem

[Subject Prev][Subject Next][Thread Prev][Thread Next]
Very impressive description of the problem, Roger.  I've never thought
about it that way (or seen it described as such in the popular press OR
trade magazines).


-----Original Message-----
From: Roger Turk [mailto:73527.1356(--nospam--at)]
Sent: Thursday, November 12, 1998 1:29 PM
To: seaint(--nospam--at)
Subject: Year 2000 computer problem

R. D. McConnell wrote:

. > It is only necessary to change the 2-digit integer representation of
. > date to a 4-digit integer to account for the "2000" problem.

I agree with your basic premise that the Y2K problem is a contrived
however for a different reason.  I, too, was introduced to computers in
1950's when the IBM 650 was the greatest and latest.

First, numbers are not stored in computers as "digits," but as
(magnetic) charges.  Either it is on or it is off.  The largest integer
can be represented is determined by the number of bits available.  As I 
recall, the IBM 650 used 12 bit "words" and allowing 1 bit for the sign,
maximum integer that can be represented with 11 bits would be 2047.  
Similarly, for 4 bits, the maximum integer would be 15; for 7 bits (8
minus 1 for a sign), the maximum integer would be 127; and for 16 bits,
maximum integer is the recognizable 65,535.

Since the earliest computers (even with the IBM 1401 and IBM 7072, which
then were using 24 bit "words") did not store dates (the computers had
to be 
initialized with a card deck and the dates entered manually each time
computer was started), and that complete "words" had to be used, a
problem would not occur until at least 2047.  (Hm-m-m, Mac users, does
number sound familiar?)

Now, when the BIOS for the PC came into being and stored a date, be it a

2-digit date (80 as 1010000 or 84 as 1010100) [7 bits], or a 4-digit
(1980 as 11110111100 or 1984 as 11111000000) [11 bits], there should not
be a 
problem until the year 2007 (for 7 bit numbers) or year 2047 for 11 bit 
numbers.  For 16 bits, the problem would not occur until 65535.  (I have
Phoenix BIOS on my old, ca. 1986, Leading Edge Model D [8088 machine]
and it 
shows the date as 4-digits.  I have checked the BIOS out for the year
2000 by 
setting the date to December 31, 1999, the time to 11:55 p.m., and
for more than 5 minutes, both with the computer on and off, and it
the correct 2000 date.  Now I have to check it out to see if there is a 
February 29th in the year 2000.)

Now, when it comes to *programs* using dates, there could be a problem,
not necessarily at the year 2000.  Some programs start with an arbitrary
and do date and time arithmetic using the number of days, minutes and
from that arbitrary date; others use Julian Dates, which means different

things to different people.  (Some Julian calendars count days from year
others from the first day of the current year.)

A. Roger Turk, P.E.(Structural)
Tucson, Arizona