glen said:
The VAX was DEC's first hex machine. There was a story that
around the time of the announcement they published a
calendar with the dates in hex. The Fortran compiler supported
hex constants and format codes. The instruction fields were
in groups of four bits, unlike the PDP-11 where the instruction
fields, especially register numbers, grouped in threes.
(Though I still prefer hex for the PDP-11.)
-- glen
Octal (0..7) came about because of a need to 'say' binary. In the
day, the 'character' was six bits wide, all upper case and 'A' was
something like '100001' if I recall correctly. Split into groups of
3 we get '100' and '001'. Everybody could keep that much binary in
their heads and could 'see' four and one.
If asked the value of 'A' it was a blessing to say 'four one' rather
than 'one zero zero zero zero one'.
Then in the 1960's everything changed. Fairchild Semiconductor
invented the Integrated Circuit, the IC. They could now put hundreds
of transistors on one piece of silicon. The whole idea of designing
circuits from individual transisters died an almost instant death.
The new IC's were virtually circuit boards on a chip. In 1963 IBM's
new 7094 CPU was nearly the size of a city bus, required tons of air
conditioning, had 36-bit memory word, 6-bit character, 7-channel
magnetic tape, fixed record size 80 characters per record (punched
card). Perhaps the youngest (last) dinosaur.
IBM at the same time had embraced the IC and in 1964 introduced
their System 360 which was the first machine to this generation. The
old six-bit character (BCD) was severely limiting and 7-bit ASCII
was nipping at their heels. Digital Equipment, Data General, Pr1me,
etc. were giving them hell with ASCII. Hence in an attempted leap
forward, IBM uses IC's. The IC designers think 2, 4, 8 and don't
know what to do with 3 or 6.
So the new character is 8 bits and becomes Extended BCD Interchange
Code (EBCDIC). New terms, byte (the 8-bit thingy) nybble (half a
byte) were current in 1964. I'm not sure IBM did this.
The IC counters were 4-bits wide, not 3. The modulus was 16, not 8
and Octal died. Hexadecimal is born. Simply add six alpha characters
to the ten decimal ones and we have '0123456789ABCDEF' for our set.