Take the 2-minute tour ×

The decimal (base 10) number "2" can also be represented as the binary (base 2) number "10".

Let's use binary "10" (equivalent to decimal "2") as an example. I could see a few different ways to go here. Assume that the base doesn't need to be specified, and is understood from the context of the conversation (e.g. two programmers talking about memory addresses would understand that they were using hexadecimal).

It could be "ten", since that is what it looks like. One might even argue that ten, as a concept, refers to a one followed by a zero irrespective of the radix. In other words, ten means "a quantity exactly equal to the base it's represented in".

On the other hand, you could argue that "ten" refers specifically to the quantity; in other words, "1010" in binary, "10" in decimal, and "12" in octal would all be pronounced "ten," and "10" in binary should be pronounced "two".

So how would you pronounce the following numbers?

"10" binary ("2" decimal)

"10" octal ("8" decimal)

"10" hexadecimal ("16" decimal)

"1F" hexadecimal ("31" decimal)

share|improve this question
Possible duplicate of math.stackexchange.com/questions/65760/…. –  Jonathan Van Matre Dec 21 '11 at 19:29

4 Answers 4

up vote 7 down vote accepted

I pronounce your examples "ten", "ten", "ten", and "one ef". I count in hexadecimal, "One, two, three, four, five, six, seven, eight, nine, ay, bee, see, dee, ee, ef, ten, eleven, twelve, ..., one-ee, one-ef, twenty, twenty-one, ..." etc.

I've heard some people make the argument that, as a "number" is a concept that is independent of the numerals and radix used to represent it, that therefore we should read binary 10 as "two", octal 12 as "ten", etc, because that is the concept that these strings of digits represent. I was on another forum once where several people were quite adamant about this, and insisted that anyone who read octal 10 as "ten" was demonstrating profound mathematical ignorance, corrupting the youth, and so forth. I disagree with that idea on two grounds: one philosophical, one practical.

On the philosophical, who says that "thirteen" means "this many: X X X X X X X X X X X X X" and not "the string of digits consisting of a one followed by a three"? There are many possible representations of "this many fingers", including decimal 13, octal 15, Roman numerals XIII, Hebrew symbols yod-gimel, etc etc. Who says that the only correct way to read all these representations is by the word "thirteen"? Are French people "wrong" because they read it as "treize" rather than as "thirteen"? If it's linguistic chauvinism to say that the French are wrong to use French words rather than English words, perhaps it is "radix chauvinism" to say that names derived from the decimal number system are "right" and names derived from any other number system are "wrong". Need I point out that "thirteen" is obviously derived from a string of digits, "1" and "3". To look at (octal) "15" and read it "thirteen" is clearly imposing a decimal-based name on an octal representation.

On more practical terms, trying to read numbers in other bases using names derived from their decimal equivalents quickly becomes wildly impractical. If you insist that octal 10 be read "eight", then presumably we keep counting 11=nine, 12=ten, 13=eleven, 14=twelve, ... 20=sixteen, 21=seventeen, ... 100=sixty-four, ... etc. Imagine trying to read off a series of octal numbers to another person for him to copy. Would you really look at octal 34702 and read it "fourteen thousand seven hundred eighty-six", and then expect the other person to hear this and type in "34702"? Such a process would be very difficult and error-prone. It makes a lot more sense to read it "three four seven zero two" or "thirty-four thousand seven hundred two".

Once you grant that when numbers exceed two or three digits it is most natural and practical to read them using the digits given and not trying to use the same words you would use for "this many" in decimal, it follows that for consistency we should always do this. If I read octal 12 as "ten" but octal 1000 as "one thousand", then we would have to define some cut-off point where we transition from "decimal names" to "octal names". As such a cut-off point would be arbitrary, it would likely be confusing. Better to just consistantly use the natural octal reading.

share|improve this answer
"is clearly imposing a decimal-based name on an octal representation." Well, that's what we have to do if we're going to speak English because English has decimal-based names. –  David Schwartz Dec 21 '11 at 23:07

By convention:

  • "one-zero binary" (people rarely say "base 2" in my experience)
  • "octal one-zero" or "one-zero octal"
  • "hex one-zero"
  • "hex one-eff"

If you say "hex ten" to a developer, they will mentally translate it to "hex one-zero" anyway, so you're better off saying "hex one-zero" in the first place.

In general, developers tend to

  • pronounce every digit in bases other than decimal
  • pronounce groups of four in binary when unambiguous (e.g. "1011" is said "ten-eleven", but "1000" is pronounced "one-zero-zero-zero")

That being said, 0xdeadbeef is always pronounced "dead beef." But then, you've entered the realm of hexspeak.

share|improve this answer
your rules are correct. In addition some devs may use the conventions of their language, saying zero one zero for the octal number or oh ex one zero for the hex. And many of us say alpha bravo charlie delta easy fox for the hex letters. When using those we can omit any mention of hex. For example "I set the colour to fox easy fox easy fox easy so it looks white but it's not." –  Kate Gregory Dec 22 '11 at 12:50
@KateGregory I agree. By definition, when you're speaking these values out loud, you're communicating them to someone else (even if it's just your rubber ducky), so you want to avoid ambiguity. I've used NATO phonetic (alpha bravo charlie delta echo) over the phone for hex myself. –  Gnawme Dec 22 '11 at 17:35

In notations other than decimal, always read out the symbols, which is what they are.

Do not even call the individual elements as digits when the number system is not binary, decimal or octal because in higher notations, alphabets are also used, which will create the illogical (not technically incorrect, maybe) use of digit.

When we read 'one' in say, hex, we are not referring to a value of unity, only the name of the symbol.

share|improve this answer

I find the simplest to pronounce any numeral in any base using any symbols would be to organize the numerals in bytes of three. For example

123 456 789 abc def in hexadecimal

I'd call this one, two, three - tera; four, five, six - giga; seven, eight, nine - mega; ay, bee, cee - kilo; dee, ee, eff

This method's advantage is that it makes describing a numeral in any base simple and correct:

001 000 000 000 binary is one giga.
020 000 000 decimal is two, zero mega
a00 000 hexadecimal is ay, zero, zero kilo

One should be careful because 123 giga hexadecimal is not one hundred and twenty-three giga, it should be viewed as:

(1*102+2*101+3)*109 all in hexadecimal notation

Another example, 101 giga binary should be viewed as:

(1*1010+0*101+1)*109 all in binary notation

And lastly for something familiar 456 giga decimal should be viewed as:

(4*102+5*101+6)*109 all in decimal notation

This notation coincidence with four hundred fifty-six giga in decimal notation.

The quantity these numerals represents is another story. For example 144 (one, four, four) is not a number; it is a numeral that could represent a number. Where as numbers one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, etc are all specific numbers representing a specific quantity in english.

In addition one hundred forty-four and a gross (twelve times twelve) both represent the same number. This same number could be represented by fourteen-ten and four or seven-twenty and four. I could go on and on. Of course all this requires some knowledge of multiplication and addition expect for a gross.

One could say that 10 (one, zero) binary is a number and they would be correct in mathematics. However one zero binary is jargon means nothing in Common English. It must be translated to 'two' if you wish to be understood.

share|improve this answer

Your Answer


