Need a book? Engineering books recommendations...

# RE: Year 2000 computer problem

• To: "'seaint(--nospam--at)seaint.org'" <seaint(--nospam--at)seaint.org>
• Subject: RE: Year 2000 computer problem
• From: Dan Vines <dan(--nospam--at)mowe.com>
• Date: Thu, 12 Nov 1998 14:07:48 -0500

```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

Dan

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

R. D. McConnell wrote:

. > It is only necessary to change the 2-digit integer representation of
the
. > 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
problem,
however for a different reason.  I, too, was introduced to computers in
the
1950's when the IBM 650 was the greatest and latest.

First, numbers are not stored in computers as "digits," but as
electrical
(magnetic) charges.  Either it is on or it is off.  The largest integer
that
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,
the
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
bits
minus 1 for a sign), the maximum integer would be 127; and for 16 bits,
the
maximum integer is the recognizable 65,535.

Since the earliest computers (even with the IBM 1401 and IBM 7072, which
by
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
the
computer was started), and that complete "words" had to be used, a
"date"
problem would not occur until at least 2047.  (Hm-m-m, Mac users, does
this
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
date
(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
a
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
waiting
for more than 5 minutes, both with the computer on and off, and it
recorded
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,
but
not necessarily at the year 2000.  Some programs start with an arbitrary
date
and do date and time arithmetic using the number of days, minutes and
seconds
from that arbitrary date; others use Julian Dates, which means different

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

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

```