HP3000-L Archives

November 2005, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Wirt Atmar <[log in to unmask]>
Reply To:
Date:
Fri, 25 Nov 2005 21:40:46 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (53 lines)
John writes:

> I find it amazing that an explanation like "D means debit and C means
>  credit" which you "heard somewhere" is something to which you would
>  cling so tenaciously.  Keep in mind that this is IBM we are talking
>  about - Occam's Razor does not apply.  Jeff's explanation is the one I
>  have always believed, and I believe it makes much more sense.  In fact,
>  it answers your question "Where does the F come from" far better than
>  your explanation does.  I believe the debit/credit stuff is probably
>  just a mnemonic device someone came up with to help them remember which
>  is which.

The "C" means "credit" is not the part that I'm tenaciously clinging to. I 
don't give a hoot about that. That could quite easily be just some post hoc 
explanation that someone attached to the process long after it was born. I just 
thought that it was clever enough to repeat.

The part that I'm tenaciously clinging to is that C,D,F symbols chosen for 
the three-state sign value are about all that could have been done, and that it 
has nothing to do with IBM or their punch cards.

Indeed, BCD encodings are a lot older than IBM's Hollerith encoding (which, 
btw, Hollerith himself had nothing to do with. It's just an honorific name 
given to a punched paper process not unlike Hollerith's original punch cards). 

I'm an engineer old enough to remember exceptionally well those heady days 
when real men built their own UART modems and BCD displays out of flip-flops and 
nixie tubes.

Think about it for a minute (or as in IBM's original motto: just "Think"): 
how are you going to represent sign information in four bits? The values "0" 
(0000) through "9" (1001) are already taken up. There is no room to "overpunch," 
so that's out. Nor is there room to explicitly represent all of the positive 
and negative numbers directly in 16 characters. The best you could do is 
represent up to -5. There just isn't enough room to represent the remaining negative 
numbers, -6 to -9. Nor would you even want to.

You only have two design choices if you want BCD to be signed: either add 
another bit to every digit, essentially a sign bit, in the manner that integers 
are signed, or use one BCD character at the beginning or end as the sign 
information. The second choice is enormously more efficient. Individual digits 
aren't signed in a number; the number as a whole is, so only one sign carrying 
digit needs to be defined.

BCD arithmetic and encodings are an engineering idea that were derived from a 
hardware view of the world right at the beginning of the digital era and had 
absolutely nothing to do with IBM punch cards.

Wirt Atmar

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2