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.
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.
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!
0xCA000000
How about "C-A base 16 times 16 to the 6th".
User contributions licensed under CC BY-SA 3.0