5 ms·
A bit of trivia I like to bring up when this comes around: those "hexadecimal numbers"? The digits would've gone 0-9fgjkqw.
by naniwaduni 1y ago
A bit of trivia I like to bring up when this comes around: those "hexadecimal numbers"? The digits would've gone 0-9fgjkqw.
- MBCook 1y agoAfter he finished his vacuum tube computer, the UE-1, I got hooked on the Usagi Electric channel on YouTube. One of the things he did was restore a Bendix G-15. It seems to use 0-9quvwxyz. Does anyone know how/when they were standardize to what we have today?
- naniwaduni 1y agoSeemingly not before the late 70s, at least—tar and cpio encode their numbers as octal(!) numerals.
- philiplu 1y agoI’m pretty sure that’s due to Unix’s early existence on PDP machines from DEC, which used octal instead of hex for encoding binary values. Why DEC did that I don’t know - I never got a chance to use DEC equipment back in the 70s.
- anyfoo 1y agoSeveral PDPs used 18 bit word sizes (we standardized on 8 bit bytes and multiples for word sizes later on). 18 is not divisible by 4, but it is divisible by 3. An octal digit groups three bits together, just like a hexadecimal digit groups 4 bits together.
- anyfoo 1y agoOctal has advantages to be more readable when you are dealing with bits in groups of threes (or multiples), just like the decimal is advantageous when dealing with bits in groups of fours (or multiples). In UNIX-like systems (and POSIX in general), POSIX permissions are in groups of threes: rwx for user, group, and others. Hence `chmod 777` means "rwx for user, group, others" (i.e. everyone can do everything), `chmod 0644` means "rw for user, r for group and others", and so on. Before we standardize on 8 bit bytes, there were all kinds of word sizes. Some machines had 18 bit words, for example. 18 is divisible by 3, but not by 4, so octal made more sense for those at least.
- MBCook 1y agoI’ve noticed octal is common on front panels of computers, seemingly much more than nibbles.
- anyfoo 1y agoIt's interesting. My first idea was that you consciously or subconsciously have the front panels from PDPs in mind (which are very iconic), and a lot of PDP had word sizes that were either only or also divisible by 3 (like 12 or 18). Even for the PDP word sizes that were also divisible by 4, it still made sense to keep it in grouping of threes for the overall line. Looking at the equally iconic IBM s/360 front panel (a 32 bit architecture), or the IMSAI 8080 (the Intel 8080 is 8 bit), you see the bits grouped by fours. But then you have things like the Altair 8800, which is also 8080-based, and which awkwardly groups the bits in groups of 3 anyway, which does not even fit. So now I wonder how common exactly octal was even for multiple-of-4 bit machines.
- MBCook 1y agoThe Altair is probably the one I’m thinking of besides PDP series. Because I too remember that weird extra bit standing out.
- nxobject 1y agoThere's that old chestnut about how the x86 instruction format -- at least up to the 486 -- is easily hand-assembled in octal [1], and that this may be have been the legacy of a design decision made for the Datapoint 2200. [2] [1] https://news.ycombinator.com/item?id=30409100 https://news.ycombinator.com/item?id=30409100 [2] https://en.wikipedia.org/wiki/Datapoint_2200 https://en.wikipedia.org/wiki/Datapoint_2200
- madison256 1y agoI learned octal before hex. The Univac 1100/80 was my first machine. It was 36 bit words, and had circuitry to process multiple data sizes; 6, 9, 12, 18 bit. Octal made perfect sense. http://bitsavers.informatik.uni-stuttgart.de/pdf/univac/1100/datapro/70C-846MM-40_8412_Sperry_1100_80.pdf http://bitsavers.informatik.uni-stuttgart.de/pdf/univac/1100... >FIXED-POINT OPERANDS: One 36-bit single precision word. Addition and subtraction can also be performed upon 2-word (72-bit) double precision operands and upon 18-bit half-words and 12-bit third-words; the leftmost bit holds the sign in each case. Moreover, partial words of 6,9, 12, or 18 bits can be transferred into and out of the arithmetic and control registers. The 11 00/80 can also perform decimal addition and subtraction operations on 9-bit bytes, packed 4 to a word.
- II2II 1y agoThere are many things that we take for granted today that weren't decided upon in the early days of computing, like the byte being 8-bits (which was popularized by the System/360) or word sizes being 2^(3+n). Some early machines were bit-serial (imagine an adder operating on one bit at a time, rather than on all of the bits in parallel). Even more fun: the Harvard Mark I and ENIAC were both base-10 machines. I can't imagine the amount of engineering that went into producing a base-10 machine out of inherently base-2 components. (Example: the relays of the Mark I. Tubes are analog, but I'm guessing that any use in computers would only use a high and a low state.) Many machines used sequentially accessed main memory rather than random access memory (the drum memory of the LGP-30 or mercury delay-lines). The list goes on.
- afandian 1y agoThe Kenbak 1 was serial. https://www.kenbak.com/kenbak_registry https://www.kenbak.com/kenbak_registry You can buy a replica one now (I've bought 2). https://adwaterandstir.com/product/nanokenbak-1/ https://adwaterandstir.com/product/nanokenbak-1/
- actionfromafar 1y agoThe ENIAC components were (or at least some of them were) decimal. Things like tube decade-counters were combined into a computer. They picked components available off the shelf and cobbled it into a computer. I believe such counters were used in stuff like frequency counters before they were used in ENIAC.