What are the names of numbers in the binary system?

The names we use are very much related to the radix we use

$0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9$

zero - one - two - three - four - five - six - seven - eight -nine

We repeat the names

$21$ twenty one, $22$ twenty two .. and so on.

This is not suitable for binary system

If we used the same nomenclature

$1 - \text{one}$

$10 - \text{two}?$

$11 - \text{three}?!$

This is very hard to read and write

Maybe if we used something else it would be very convenient something like:

$1 - \text{John}$

$10 - \text{Watson}$

$11 - \text{Watson John}$

$100 - \text{Kevin}$

$101 - \text{Kevin John}$

$110 - \text{Kevin Watson}$

$111 - \text{Kevin Watson John}$

and so on ..

Is there any official nomenclature? or should I make it up myself?


Solution 1:

The names we use are very much related to the radix we use

Etymologically, perhaps, though with some exceptions and inconsistencies as noted already.

The more important point, however, is that the names are used to denote the numbers themselves, not some particular representation of them.

Take for example "two plus three equals five". That's a statement about numbers, which holds true regardless of their representation. All of $2_{10}+3_{10}=5_{10}$ in decimal, or $10_2+11_2=101_2$ in binary or $II + III = V$ in roman numerals represent the same statement "two plus three equals five", and there is no need for different words to describe it depending on the representation.

Solution 2:

If you give names to each place, you're going to need a lot of names. Binary numbers grow in length faster than any other integral base (besides unary which doesn't entirely count). While we could invent a system, it would be more trouble than it's worth. Usually, binary numbers are just read as digits - 110 is "one one zero" - or converted to decimal - 110 is "six."

However, in cases where the binary number is very long, both these techniques are inefficient. In the specific context of computer science and software engineering (the fields that most commonly need to do this), we typically switch to a more convenient base. This is less difficult than it sounds, because power-of-two bases have a nice property: every digit in base $2^n$ maps directly to $n$ digits in base 2. For example, take $1011011010_2$; after padding it with leading zeros, we get: $$ 0010_2 = 2_{16} \\ 1101_2 = \mathrm{D}_{16} \\ 1010_2 = \mathrm{A}_{16} \\ {0010\;1101\;1010}_2 = \mathrm{2DA}_{16} $$

As you can see, the hexadecimal representation is much shorter, and far less cumbersome to read and write even without hex place names. At the same time, it preserves the structure and grouping of the bits, so that we can reason about the binary form while looking at the hex form.

Hexadecimal is an especially popular representation for several reasons:

  • It's small enough that one could reasonably memorize the conversion between binary and hex.
  • Even without outright memorization, converting a four-bit value can be done by hand with little difficulty.
  • Four bits is a simple fraction of eight bits, which is a common unit in real hardware.
    • If you want to preserve this property, the only other options are base 4 and base 256. Base 4 is only slightly more efficient than binary, and base 256 is difficult to notate.
  • It is compact enough to save a significant amount of space.

You will occasionally see octal (base 8) used in places where bits need to be put into groups of three for some reason. The commonest instance of this is Unix permission bits, which make more sense as four groups of three than as three groups of four.

If base 16 is not compact enough, we can go all the way to Base64, which grabs six bits at a time. As the name suggests, this comes with a standardized notation, which can be slightly idiosyncratic. For example, it distinguishes between $\mathrm{a}_{64}$ and $\mathrm{A}_{64}$. A bit more controversially, it makes use of three non-alphanumeric symbols in order to complete the base, most commonly $+$, $/$, and $=$. Obviously, you would not want to put this into an equation or other mathematical expression of any kind. The only real advantage of this system is that it is highly compact, yet fits comfortably into ASCII without requiring any special characters that might be mishandled by poorly-implemented software.

Solution 3:

In addition to Narek's answer…

Is there any official nomenclature?

No.

or should I make it up myself?

Not if you want to be understood by other people!

Solution 4:

Well the way I read it

1 - one

10 - one zero

11 - one one

etc.

Although this might get inconvenient for large number of bits.