Bioctal: Hexadecimal 2.0
An April Fools' proposal to replace hexadecimal with a more cognitive-friendly base-16 notation.
Breen, M., "Bioctal: Hexadecimal 2.0", RFC 9226, DOI 10.17487/RFC9226, April 2022, <https://www.rfc-editor.org/info/rfc9226>.
@misc{rfc9226,
series = {Request for Comments},
number = 9226,
howpublished = {RFC 9226},
publisher = {RFC Editor},
doi = {10.17487/RFC9226},
url = {https://www.rfc-editor.org/info/rfc9226},
author = {M. Breen},
title = {{Bioctal: Hexadecimal 2.0}},
pagetotal = 7,
year = 2022,
month = apr,
} RFC text
Contents
Independent Submission M. Breen
Request for Comments: 9226 mbreen.com
Category: Experimental 1 April 2022
ISSN: 2070-1721
Bioctal: Hexadecimal 2.0
Abstract
The prevailing hexadecimal system was chosen for congruence with
groups of four binary digits, but its design exhibits an indifference
to cognitive factors. An alternative is introduced that is designed
to reduce brain cycles in cases where a hexadecimal number should be
readily convertible to binary by a human being.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for examination, experimental implementation, and
evaluation.
This document defines an Experimental Protocol for the Internet
community. This is a contribution to the RFC Series, independently
of any other RFC stream. The RFC Editor has chosen to publish this
document at its discretion and makes no statement about its value for
implementation or deployment. Documents approved for publication by
the RFC Editor are not candidates for any level of Internet Standard;
see Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9226.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Table of Contents
1. Introduction
1.1. The Pernicious Advance of Hexadecimal
1.2. Problems with Hexadecimal
1.3. Other Proposals
2. Bioctal
3. Objections to Be Dismissed
4. Security Considerations
5. IANA Considerations
6. Conclusion
7. Informative References
Acknowledgments
Author's Address
1. Introduction
1.1. The Pernicious Advance of Hexadecimal
Octal has long been used to represent groups of three binary digits
as single characters, and that system has the considerable merit of
not requiring any digits other than those already familiar from
decimal numbers. Unfortunately, the increasing use of 16-bit
machines and other machines that have word lengths that are evenly
divisible by four (but not by three) has led to the widespread
adoption of hexadecimal. Table 1 presents the digits of the
hexadecimal alphabet.
+=======+=======+
| Value | Digit |
+=======+=======+
| 0 | 0 |
+-------+-------+
| 1 | 1 |
+-------+-------+
| 2 | 2 |
+-------+-------+
| 3 | 3 |
+-------+-------+
| 4 | 4 |
+-------+-------+
| 5 | 5 |
+-------+-------+
| 6 | 6 |
+-------+-------+
| 7 | 7 |
+-------+-------+
| 8 | 8 |
+-------+-------+
| 9 | 9 |
+-------+-------+
| 10 | A |
+-------+-------+
| 11 | B |
+-------+-------+
| 12 | C |
+-------+-------+
| 13 | D |
+-------+-------+
| 14 | E |
+-------+-------+
| 15 | F |
+-------+-------+
Table 1: The
Hexadecimal Alphabet
The choice of alphabet is clearly arbitrary: On the exhaustion of the
decimal digits, the first letters of the Latin alphabet are used in
sequence for the remaining hexadecimal digits. An arbitrary alphabet
may be acceptable on an interim or experimental basis. However,
given the diminishing likelihood of a return to 18-bit computing, a
review of this choice of alphabet is merited before its use, like
that of the QWERTY keyboard, becomes too deeply established to permit
the easy adoption of a more logical alternative.
1.2. Problems with Hexadecimal
One problem with the hexadecimal alphabet is well known: It contains
two vowels, and numbers expressed in hexadecimal have been found to
collide with words offensive to vegetarians and other groups.
Imposing a greater constraint on the solution space, however, is the
difficulty of mentally converting a number expressed in hexadecimal
to (or from) binary. Consider the hexadecimal digit 'D', for
example. First, one must remember that 'D' represents a value of 13
-- and, while it may be easy to recall that 'F' is 15 with all bits
set, for digits in the middle of the non-decimal range, such as 'C'
and 'D', one may resort to counting ("A is ten, B is eleven, ...").
Next, one must subtract eight from that number to arrive at a number
that is in the octal range. Thus, the benefit of representing one
additional bit incurs the cost of two additional mental operations
before one arrives at the position where the task that remains
reduces to the difficulty of converting the remaining three digits to
binary.
These mental steps are not difficult per se, since a child could do
them, but if it is possible to avoid employing children, then it
should be avoided. An appeal to the authority of cognitive
psychology is perhaps also due here, in particular to the "seven plus
or minus two" principle [Miller] -- either because octal is within
the upper end of that range (nine) and hexadecimal is not, or else
because the difference in the size of the alphabets is greater than
the lower end of that range (five). Either way, it is almost
certainly relevant.
1.3. Other Proposals
Various alternatives have already been suggested. Some of these are
equally arbitrary, e.g., in selecting the last six letters of the
Latin alphabet rather than the first six letters.
The scheme that comes closest to solving the main problem to date is
described by Bruce A. Martin [Martin] who proposes new characters for
the entire octal alphabet. While his principal motivation is to
distinguish hexadecimal numbers from decimals, the design of each
character uses horizontal lines to directly represent the "ones" of
the corresponding binary number, making mental translation to binary
a trivial task.
Unfortunately for this and other proposals involving new symbols,
proposals to change the US-ASCII character set [USASCII] might no
longer be accepted. Also, it seems unrealistic to expect keyboards
or printer type elements (whether of the golf ball or daisy wheel
kind) to be replaced to accommodate new character designs.
2. Bioctal
Table 2 presents the hexadecimal alphabet once again, this time in a
sequence of two octaves with values increasing left to right and top
to bottom.
+---+---+---+---+---+---+---+---+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+---+---+---+---+---+---+---+
| 8 | 9 | A | B | C | D | E | F |
+---+---+---+---+---+---+---+---+
Table 2: The Hexadecimal
Alphabet in Sequential
Octaves
Arranged thus, the binary representation of each digit in the second
octave is the same as the digit above it, but with the most
significant of the four bits set to '1' instead of '0'.
The incongruity of two decimal digits in the second octave also
suggests that, in blindly aligning with four bits, hexadecimal (six
plus ten, neither of which are powers of two) misses an opportunity
to align also with three bits.
Bioctal restores congruence by replacing the second row with
characters mnemonically related to the corresponding character in the
first octave.
Table 3 shows the compelling result.
+---+---+---+---+---+---+---+---+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+---+---+---+---+---+---+---+
| c | j | z | w | f | s | b | v |
+---+---+---+---+---+---+---+---+
Table 3: Bioctal in
Sequential Octaves
The mnemonic basis is the shape of the lowercase character. This is
seen directly for '2', '5', and '6'. For '3', '4', and '7', the
corresponding letters are the result of a quarter-turn clockwise
(assuming an "open" '4'). The choice of 'c' and 'j' for '0' and '1'
avoids vowels and lowercase 'L', the latter being confusable with '1'
in some fonts.
With this choice of letters, it is immediately evident that both
problems with hexadecimal are solved. Mental conversion is now
straightforward: if the digit is a letter, then the most significant
of the four binary bits is '1', and the remaining three bits are the
same as for the Arabic numeral with the same shape in the first
octave.
3. Objections to Be Dismissed
Several objections can be anticipated, the first of which concerns
the name. The term "bioctal" is already used to refer to the
combination of two octal characters into a single field on, for
example, paper tape (e.g., [UNIVAC]). However, if the word "bioctal"
must be disadvantaged relative to words such as "biannual" in the
number of meanings it is allowed to have, then it is the paper tapers
who must give way: in that context, the "octal" part of "bioctal"
refers to the number of distinct values that three bits can have,
while the "bi" refers to a doubling of the number of bits, not
values. A meaning depending on such a discordant etymology does not
deserve to endure.
Second, it may be argued that the use of hexadecimal has already
become too entrenched to be changed in the short term: Bioctal should
be introduced only after those working in the industry who have grown
accustomed to hexadecimal have retired. Such a dilatory contention
cannot be allowed to impede the march of progress. Instead, any data
entry technician who claims to have difficulty with bioctal may be
reassigned to duties involving only binary numbers.
A third possible objection is that numbers in bioctal do not sort
numerically. However, this assumes a sort based on the US-ASCII
order of symbols; it is quite possible that bioctal numbers sort
naturally in some lesser known variety of EBCDIC. Further,
resistance to numeric sorting may be an indicator of virtue, being
suggestive of an alphabet with a certain strength of character.
One difficulty remains: Not all computers support lowercase letters.
While this is indeed true, it should be confirmed in any particular
instance: the author has observed that in many cases a machine having
a keyboard with buttons marked only with uppercase letters also
supports lowercase letters. In any case, it is permissible to use
uppercase letters instead of the lowercase ones of Table 3; the
morphology mnemonic continues to work for most bioctal digits in
uppercase, although an extra mental cycle is required for 'B'.
4. Security Considerations
The letters 'b' and 'f' appear in both the bioctal and hexadecimal
alphabets, which makes potential misinterpretation a concern. A case
of particular hazard arises where two embedded systems engineers work
to develop a miniature lizard detector designed to be worn like a
wristwatch. One engineer works on the lizard proximity sensor and
the other on a minimal two-character display. The interface between
the circuits is 14 bits. To make things easier, the engineer working
on the display arranges for these bits to be set in a pattern that
allows them to be used directly as two seven-bit US-ASCII characters
indicating the most significant lacertilian species detected in the
vicinity of the device. Due to the use of an old US-ASCII table
(i.e., one in hex, not bioctal) and human error, some of the values
specified as outputs for the detection subsystem are in hexadecimal,
not the bioctal the engineer developing that subsystem expects --
including, in the case of one type of lizard, "4b 4f". The result is
that the detector displays "NL" (No Lizards) when it should display
"KO" (Komodo dragon). This may be considered prejudicial to the
security of the user of the device.
Extensive research has uncovered no other security-related scenarios
to date.
5. IANA Considerations
This document has no IANA actions.
6. Conclusion
Bioctal is a significant advance over hexadecimal technology and
promises to reduce the small (but assuredly non-zero) contribution to
anthropogenic global warming of mental hex-to-binary conversions.
Since the mnemonic basis of the alphabet is independent of English or
any other particular natural language, there is no reason that it
should not be adopted immediately around the world, excepting perhaps
certain islands of Indonesia to which _Varanus komodoensis_ is
native.
7. Informative References
[Martin] Martin, B. A., "Letters to the editor: On binary
notation", Communications of the ACM, Vol. 11, No. 10,
DOI 10.1145/364096.364107, October 1968,
<https://doi.org/10.1145/364096.364107>.
[Miller] Miller, G. A., "The Magical Number Seven, Plus or Minus
Two: Some Limits on Our Capacity for Processing
Information", Psychological Review, Vol. 101, No. 2, 1956.
[UNIVAC] Sperry Rand Corporation, "Programmers Reference Manual for
UNIVAC 1218 Computer", Revision C, Update 2, November
1969, <http:/bitsavers.computerhistory.org/pdf/univac/
military/1218/PX2910_Univac1218PgmrRef_Nov69.pdf>.
[USASCII] American National Standards Institute, "Coded Character
Set -- 7-bit American Standard Code for Information
Interchange", ANSI X3.4, 1986.
Acknowledgments
The author is indebted to R. Goldberg for assistance with Section 4.
Author's Address
Michael Breen
mbreen.com
Email: rfc@mbreen.com
AI ELI5
On this page
§1Problems with Hexadecimal
RFC 9226 proposes Bioctal as an alternative to hexadecimal for representing groups of four binary digits. The RFC argues that hexadecimal's alphabet (0-9, then A-F) is arbitrary: after exhausting decimal digits, it simply takes the first six letters. Converting a hexadecimal digit like "D" to binary requires remembering that D is 13, subtracting eight to get the octal range, then converting the result to binary—three mental operations instead of one.
The RFC invokes cognitive psychology's "seven plus or minus two" principle, suggesting octal (9 symbols) is within human working memory capacity while hexadecimal (16 symbols) is not. It notes that hexadecimal also contains two vowels, creating unfortunate collisions with words offensive to vegetarians and other groups.
Hexadecimal is hard because you have to remember what A, B, C, D, E, F mean, and then convert them to binary in your head. It is annoying.
§2The Bioctal Alphabet
Bioctal replaces the second octave (8-F) with letters chosen for their shapes. The high bit (the most significant of four bits) follows a morphological mnemonic: 8→c, 9→j, A→z, B→w, C→f, D→s, E→b, F→v. For example, "2" has a curved top, and the uppercase letter "Z" echoes that shape; "5" has a horizontal line at top and bottom, and "S" mirrors that; "6" has a round bottom, and "b" reflects it. Choosing 'c' and 'j' for 0 and 1 avoids vowels and the confusable lowercase 'L'.
With Bioctal, identifying the high bit is trivial: if the digit is a letter, the high bit is 1; the remaining three bits are the same as for the Arabic numeral with the same shape. This eliminates the mental conversion penalty.
The new letters look like the numbers below them. If you see a letter, the top bit is 1. If you see a number, the top bit is 0. That is it.
§3Objections and Defenses
The RFC preemptively dismisses three objections. First, "bioctal" is already used for something else (combining two octal characters on paper tape), but the RFC argues the new meaning is superior and should displace the old. Second, some say hexadecimal is too entrenched to change, but the RFC retorts that technicians who cannot learn Bioctal should be "reassigned to duties involving only binary numbers." Third, Bioctal numbers do not sort numerically by ASCII order, but the RFC suggests they may sort naturally in "some lesser known variety of EBCDIC" and notes that resistance to numeric sorting "may be an indicator of virtue."
People will say hexadecimal is too old to change. The RFC says, "Too bad; if you do not like Bioctal, you can just use binary forever."
§4Security and Implementation
The RFC includes a Security Considerations section describing a contrived scenario involving a miniature lizard detector wristwatch where confusion between bioctal 'b' and hexadecimal 'B' causes a lizard detection subsystem to output hex when bioctal is expected, resulting in displaying "NL" (No Lizards) when it should display "KO" (Komodo dragon). The RFC notes this may be prejudicial to user security. Extensive research has uncovered no other security scenarios. The RFC also mentions that not all computers support lowercase letters, but observes that many machines with uppercase-only keyboards still support lowercase in practice, and uppercase Bioctal letters work (with extra mental cycles required for 'B').
The only security problem is if you mix Bioctal and hexadecimal by accident. The RFC uses a silly example with a lizard detector to illustrate this.