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.