A few months back, <bzarg.com> posted a guide on how to pronounce hex numbers, inspired by a funny scene from Silicon Valley. I love their idea, but I don't actually like the names they came up with - they're really inconsistent in annoying, unnecessary ways.

The basics of any English-like number-naming system are:

Digit names. "Teen" names, for numbers of the form 1x. "Xty" names, for numbers of the form x0. Place names, for grouping larger sets of numbers, like "hundred", "thousand", and "million".

When hex numbers are composed of just decimal digits, #1-#3 are identical to decimal numbers. "45" is still read as "forty five". Similarly, if a "letter" digit shows up in the ones place, it's just read as the letter - "4B" is "forty bee". (The full set of English spellings is "ae", "bee", "cee", "dee", "ee", and "eff".)

X0 (tens) names

The Silicon Valley clip provided an example for #3 - "fleventy", presumably for Fx numbers. Here's my full set of six:

A0: atta

B0: bitta

C0: citta (pronounced "sitta")

D0: dickety

E0: eckity

F0: fleventy

So a number like "f5" is read as "fleventy five", or "BC" as "bitty cee".

The sound pattern here only changes to make b/a more distinct from d/e, and because f's name is already established in the lore, and is pretty fun to say. ^_^ Note that they're reasonably distinct from the existing decimal "tens", too - in particular, 80 (eighty) and A0 (atta) sound fairly different, which is easy to mess up if you're not careful.

1X (teens) names

We can extrapolate these down into teen names, too:

1A: abteen

1B: bibteen

1C: cibteen (pronounced "sibteen")

1D: dibbleteen

1E: ebbleteen

1F: fleventeen

These follow similar patterns, with A-C using one naming scheme (consistently swapping "tta" with "bteen") and D-E using another (swapping "ckity" with "bbleteen").



1A-1E also have the nice advantage that they're noticeably distinct from the A0-E0 names due to them swapping in a voiced consonant, which isn't true of most decimal digits (most of 13-19 sound really similar to 30-90). This only isn't true for fleventy/fleventeen, because I don't have a good answer for it, but at least it's no worse its seventy/seventeen namesake.

Larger place names

The Bzarg naming tool suggests "bitey" as the name for the third digit place, so "100" is "one bitey" (because two hex digits make a byte), then use "halfy" and "worddion" (dd pronounced as a soft "j") for 4 and 8 digits (inspired by 2 bytes being a half-word and 4 bytes being a word). The naming tool reuses "bitey" for 6 digits, which I assume is just an oversight/mistake, as it would be confusing.

I'm not a fan of this - the size of a "word" changes over time anyway (it used to be 2 bytes, now it's 8 bytes on some systems), and it doesn't go any further. Here's a much simpler system that extends as far as our decimal system does. (Or, technically, much further, since decimal names things by how many groups of 1k there are, while this groups them by 16^4, or ~65k)