lindsay@k.cs.cmu.edu (Donald Lindsay) (07/24/87)
I believe that John Von Neumann chose 36 bits as giving the precision he wanted for arithmetic calculation. This was in the early 1950's, when floating point hardware was too expensive to be worthwhile. Twelve bit machines, such as the PDP-8, were used as lab machines. The best analog-to-digital converters (ADCs) were 12 bits at that time. Perhaps some 24-bit machines relate to this. The PDP-5, 7, 9, and 15 were 18 bit machines ( 36/2 I'm sure ). The most visible result of this is the silly tendency to use six-and-three characters for filenames ( "myfile.bas" ).
roy@phri.UUCP (Roy Smith) (07/25/87)
In article <1184@k.cs.cmu.edu> lindsay@k.cs.cmu.edu (Donald Lindsay) writes: > The PDP-5, 7, 9, and 15 were 18 bit machines ( 36/2 I'm sure ). The most > visible result of this is the silly tendency to use six-and-three characters > for filenames ( "myfile.bas" ). DEC didn't let the migration to 16-bit words sway them from 6+3 filenames. Au contrare, they simply invented the rad-50 character code so you could pack 3 characters into 16 bits. You got 26 upper-case letters, 10 digits, and 14 random pieces of punctuation. Blech! I don't remember the exact details of rad-50 to ascii conversion, but I seem to recall it being about as complex as 4.3's namei :-) If 4 bits is a nyble, and 8 bits is a byte, is the 5-1/3 bits need to hold a rad-50 character a baubyl? -- Roy Smith, {allegra,cmcl2,philabs}!phri!roy System Administrator, Public Health Research Institute 455 First Avenue, New York, NY 10016
bd@zyx.UUCP (Bjorn Danielsson) (07/27/87)
In article <2817@phri.UUCP> roy@phri.UUCP (Roy Smith) writes: > DEC didn't let the migration to 16-bit words sway them from 6+3 >filenames. Au contrare, they simply invented the rad-50 character code so >you could pack 3 characters into 16 bits. You got 26 upper-case letters, >10 digits, and 14 random pieces of punctuation. Blech! I don't remember >the exact details of rad-50 to ascii conversion, but I seem to recall it >being about as complex as 4.3's namei :-) Actually, the radix-50 code has only 40 characters. The figure "50" is an octal number. 40*40*40 = 64000, which fits nicely into 16 bits. Or you can pack 6 characters into 32 bits, which is what they did on the PDP-10, leaving 4 extra bits for other uses (flag bits, etc). The character set was " _.$ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789". -- Bjorn Danielsson, ZYX, +46 8 653205, ...mcvax!enea!zyx!bd
oster@dewey.soe.berkeley.edu (David Phillip Oster) (07/28/87)
In article <1184@k.cs.cmu.edu> lindsay@k.cs.cmu.edu (Donald Lindsay) writes: >I believe that John Von Neumann chose 36 bits as giving the precision he >wanted for arithmetic calculation. This was in the early 1950's, when >floating point hardware was too expensive to be worthwhile. The way I heard the story, one of the early demo programs was a checkers game (without kings), and 36 bits was just enough to hold the game state including the board boundaries.
pdg@ihdev.ATT.COM (Joe Isuzu) (07/28/87)
In article <2817@phri.UUCP> roy@phri.UUCP (Roy Smith) writes: >Blech! I don't remember >the exact details of rad-50 to ascii conversion, but I seem to recall it >being about as complex as 4.3's namei :-) Well, you had to ask. Here is the table: Char RAD 50 ---- ------ NULL 0 '0'-'9' 01-012 'A'-'Z' 013-044 '.' 045 '$' 046 '%' 047 And the alg for ASCII to RAD-50: x = 0; for (i=0;i<6;i++) { x=x*050; x+= convert_to_val_in_tab("string"[i]) } and of course RAD-50 to ASCII is just the inverse. I *think* that's about right. No flames for slight inaccuracies - it's been years since I touched on of those beasties. Now, don't we all wish namei() was *that* easy? -- Paul Guthrie "Another day, another Jaguar" ihnp4!ihdev!pdg -- Pat Sajak