How do you pronounce large hex numbers?

15

This question might be subjective, but I'm hoping there's some consensus that I just don't know about.

Short hex numbers are relatively easy to spell out (e.g., 0xC4A might be "cee-four-ay").

Hex numbers ending with a multiple of three zeros are likewise pretty easy (e.g., 0xC000 might be "cee-thousand").

But is there a concise way to pronounce 0xFFFF0000 or 0xCA000000? Magic numbers like 0xDEADBEEF are popular for their pronounceability, but I'm mostly asking about large-ish, round numbers that seem like they should have a more concise pronunciation.

hex
asked on Stack Overflow Jan 15, 2011 by warrenm

3 Answers

11

I've just been asking this myself, in English and Japanese. Since there doesn't seem to be any consensus I'll share the way I've noticed myself reading this inside my head.

Update: Enheh made a great suggestion in the comments about the letter "A". Originally I had been replacing the sound "ay" with the sound "yay" in tricky circumstances. He came up with using the universally understood word "ace" instead, and it reads quite nicely. The answer below has been updated to leverage that suggestion.

English:

0xFFFF0000 -> FF,FF0,000 =>
    "effty-eff million eff-hundred-effty thousand"

0xCA000000 -> CA,000,000 =>
    "ceedy-ace million"

0xDEADBEEF -> DE,ADB,EEF =>
    "deedy-ee million ace-hundred deedy-bee thousand ee-hundred eety-eff"

Japanese:

0xFFFF0000 -> FFFF,0000 =>
    FFFF万
    (sounds like "effu-zen effu-byaku effu-jyuu effu man")

0xCA000000 -> CA00,0000 =>
    CA00万
    (like "shi-zen ei-ppyaku man")

0xDEADBEEF -> DEAD,BEEF =>
    DEAD万BEEF
    (like "di-zen ii-ppyaku ei-jyuu di man bii-sen ii-ppyaku ii-jyuu effu")

There turns out to be a way to generate rather intuitive yet precise rules for pronunciation in either language by treating the letter sounds as if they were normal numeral sounds.

English:

A = ace   1A = aceteen   A0 = acety   A00 = ace'undred   A000 = ace-thousand
B = bee   1B = beeteen   B0 = beety   B00 = bee'undred   B000 = bee-thousand
C = cee   1C = ceeteen   C0 = ceety   C00 = cee'undred   C000 = cee-thousand
D = dee   1D = deeteen   D0 = deety   D00 = dee'undred   D000 = dee-thousand
E = ee    1E = eeteen    E0 = eety    E00 = ee'undred    E000 = ee-thousand
F = eff   1F = effteen   F0 = effty   F00 = effhundred   F000 = eff-thousand

From there its pretty simple.

Japanese rendaku example for hundreds (easy to feel the rest out from there):

A00 = エイひゃく
B00 = ビッぴゃく  (ひ -> っぴ)
C00 = シッびゃく  (ひ -> っぴ)
D00 = ディびゃく  (ひ -> び)
E00 = イイッぴゃく (ひ -> っぴ)
F00 = エッフびゃく (ひ -> び)

It has always sort of bothered me -- in the most deeply geeky sort of way -- that there isn't actually an agreed upon way to say these out loud, so I'm just leaving this here in case anyone feels inspired to plunge their office into the world of full blown hexadecimal speech. It actually would be sort of nice if the embedded hardware guys I deal with really did speak this way. Troubleshooting by voice is such an annoyance.

As a side note, Japanese rules lend themselves to octal and hex in an unexpectedly natural way, as Japanese numbers are grouped in periods of 4, as opposed to the Western period groups of 3.

answered on Stack Overflow Nov 3, 2014 by zxq9 • edited Apr 12, 2018 by zxq9
4

Hee hee. I'm totally comfortable saying "forty hex" for 64, and "twenty thousand, hex" for 131072 and so on.

Reading stuff to a colleague over the phone, will be "zero ex eight oh two dee"...

What a festive question!

answered on Stack Overflow Jan 15, 2011 by david van brink
1
0xCA000000

How about "C-A base 16 times 16 to the 6th".

answered on Stack Overflow Oct 10, 2011 by Glen P

User contributions licensed under CC BY-SA 3.0