Tell me more ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

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
2  
Possible duplicate of math.stackexchange.com/questions/65760/…. – Jonathan VM Dec 21 '11 at 19:29

3 Answers

up vote 5 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
1  
"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

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

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.