June 8, 2022
In the show Silicon Valley T.J. Miller’s character, Erlich Bachman, asks someone “… what nine times F is. It’s fleventy-five.”
The answer is 0x87
. It sounds like it should
be 0xF5
, so Tim Babb took this and made a
whole scheme
for pronouncing hex numbers.
Before that, 0xF5
would have been “fimtek five” in
S.R. Rogers’ 2007 scheme,
“fytonsu” in
John W. Nystrom’s 1859 scheme,
and “frosty five” in
Robert Magnusson’s 1968 scheme:
None of these took off, which is just fine, but I still want to
know whether to pronounce 0x10
as “ten” or “one zero”.
I can’t tell if “eleven” means two written 1
s, or if
it always means the abstract number that’s represented in decimal as 11
.
Most would probably say “eleven hex” for 0x11
, but then is 0b11
“eleven binary”?
That seems completely wrong.
Rogers used “ten”, “eleven”, and “twelve” to mean their decimal value,
so he used those for 0xA
, 0xB
, and 0xC
. After that he made up other
names, like “draze” for 0xD
. Maybe that’s because “eleven” and “twelve”
don’t have a “ten” or “teen” in their name, so they can be decoupled
from base ten. Except that the “tw” of “twelve”
comes from “two”!
I had a friend once argue that “sixteen” clearly means six plus ten, so 0x10
should be pronounced “sixteen” (or “one zero hex”) and 0x16
should not. But
that depends on you defining “ten” to be decimal 10
and not 0x10
. It would
be internally consistent to define 0x10
as “ten” and 0x46
“forty six hex”.
You’d just need to spell out the letters if they appear, like “forty eff”
for 0x4F
and “eff five” for 0xF5
.
In the end I think it’s too awkward to think of “ten” as just decimal 10
. That
means 0xA
is “ten” and 0x10
is, what, “hex one zero”? Then 0x4000
is
“hex four zero zero zero”? I’ll stick with what I’ve seen most people do,
which is to re-use the decimal labels and just say “hex” in front:
“hex four thousand”. After all, bases are just ways of writing numbers,
and speech can just tag along with that instead of pretending that spoken
numbers are always magically in decimal.