For a hexadecimal number, say 0x10, I always thought in my head, zero-x-one-zero.

Is there a 'most correct' pronunciation?

-
I mentally read it as "naught-x-ten", but I say it as "naught-x-one-zero" to avoid confusing people. –  Marcelo Cantos Sep 11 '11 at 22:21
I say "oh ex ten", both in my head and when reading code aloud. –  David Schwartz Sep 12 '11 at 1:32
This question appears to be off-topic because it is about how to pronounce something, not about a conceptual programming topic. english.stackexchange.com is a more appropriate venue. –  gnat Oct 3 at 12:33
comments disabled on deleted / locked posts

## migrated from stackoverflow.comSep 12 '11 at 0:15

This question came from our site for professional and enthusiast programmers.

## closed as off-topic by gnat, MichaelT, Dan Pichelman, Kilian Foth, StuperUserOct 4 at 10:00

• This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

There isn't a standard for this, so here's what I do.

If the number is small enough that I know it offhand, I'll may pronounce it as its decimal equivalent: `0x0a` is ten, `0x40` is 64, and so on. But casually, I read most hex numbers as decimal numbers separated by runs of letters:

• `0x3bda4`: Oh X three B D A four
• `0x400f20`: Oh X four hundred F twenty

For longer numbers, I may read the digits a byte at a time:

• `0x0f983d`: Oh X oh F ninety-eight three D

And occasionally I'll just make something up:

• `0x20f6`: Twenty efty six

But of course `4d` and `40` are ambiguous in an American accent, and no one has any hope of telling the difference if you pronounce `a0` the same as `80`, so on the rare occasion that I'm reading hex numbers aloud, I'll just spell them out digit by digit:

• `0x3bda4`: Oh X three B D A four
• `0x400f20`: Oh X four oh oh F two oh

The main thing is being understood, so any system that works is valid. If we're taking votes for neologisms (along the lines of kibibyte and friends) then I might (half-jokingly) propose:

• `0x10` = one tex = 16
• `0x20` = twentex = 32
• `0x30` = thirtex = 48
• `0x40` = fourtex = 64
• `0x100` = one hundrex = 256
• `0x1000` = one thousax = 4096
• `0x10000` = tex thousax = 65536
• `0x100000` = one hundrex thousax = 1048576
• `0x1000000` = one milliox = 16777216
• `1``0x10` = `0x0.1` = one texth = 116
• `1``0x100` = `0x0.01` = one hundrexth = 1256

`0xa400f20.cd` could be read A milliox, four hundrex thousax, F hundrex twentex and CD hundrexths. You could replace [ks] with [k] for ease of pronunciation, giving A milliok, four hundrek thousak, F hundrek twentek and CD hundrekths, or replace the first consonant with /x/ rather than the last, giving [z], as in A xillion, four xundred xousand, F xundred xwenty and CD xundredths. Of course, the latter system introduces ambiguity between million and billion, so you'd probably have to go with xmillion (/smillion/) and xbillion (/spillion/) instead. I do so like the idea of xillion being a specific number though.

Alternatively, prefix the whole number with hex and read it as though it were decimal: hex A million, four hundred thousand, F hundred twenty and CD hundredths.

-
This is full of awesome. –  Caleb Jares Sep 12 '11 at 3:56
It's over NINE THOUSAX! –  Wayne M Sep 13 '11 at 13:28
Too bad you can only upvote once. –  rlemon Sep 13 '11 at 15:03
Let's just spell them out letter by letter. It's simple and unambiguous. So, to put one of your examples correctly: 0x400f20, in English, is "Zero ex four zero zero ef two zero." ("Oh" is an interjection; and it sounds exactly like a letter of the alphabet. It's never a number.) –  Dan Moulding Nov 3 '11 at 19:58
@DanMoulding: This is what’s called an “elaborate joke”. That aside, “oh” is very frequently spoken in place of zero, so to say it’s never a number is plainly and spectacularly wrong—as prescriptivists usually are. –  Jon Purdy Nov 3 '11 at 20:40
show 1 more comment

I don't bother reading the 0x, but I say "... in hex" or "hex ..." to specify the base used if it's ambiguous (i.e., 0x9824 is ambiguous because it doesn't have any digits higher than 9).

I pronounce the letters using the NATO phonetic alphabet, so 0x4FA79D would be "four foxtrot alpha seven niner delta".

-
The NATO phonetic alphabet is well worth learning, it's amazing how appreciative call center representatives are when you know it well enough to spell out things they are not sure of. You can even tell then to foxtrot oscar of they are being annoying. *8') –  Mark Booth Sep 13 '11 at 14:27
For any number which isn't decimal, it's easiest just to read out the digits and suffix with the base you are using, so `0x10` would be "one oh hex".
The only exception is if I'm dictating code. In this situation I would just read out the exact text, so `0x10` would be "oh ex one oh".