Is the decimal notation the "right" notation for arithmetic?

283 Views Asked by At

I am considering here the pre-decimal notations such as Roman numerals, Egyptian numerals etc. It seems reasonable that these must all be equivalent. And it seems that decimal notation (i.e. place-value notation) replaces all these earlier notation. So without getting into Peano's notations, if we were looking for a notation for arithmetic, could the decimal notation be considered the "right" solution? Thanks!

2

There are 2 best solutions below

3
On

If we were looking for a notation for arithmetic, could the decimal notation be considered the “right” solution?

Given the context, I will assume that by “decimal notation” you actually mean positional notation, since the other numeral systems that you've mentioned are also decimal or base $10$, since they consist of symbols representing various powers and multiples of $10$. In which case, my answer would be: Even if not “the right solution”, it's definitely the best one we've got so far, at least when compared to the others you've mentioned $\big($i.e., think about doing division and multiplication using Roman numerals, for instance$\big)$.

4
On

Positional notation is an optimally efficient encoding of numbers into strings of characters drawn from a fixed set. Any other identification of numbers with strings will require strings at least as long as those in positional notation.

In this sense, positional encoding is

  1. fundamentally superior to all the historical encodings that came before it (Roman numerals, Egyptian numerals, etc), and
  2. better or equally as good (in terms of string length needed) as any possible notation people can ever think of.

The reason is that a notation system is an association (bijection) of numbers with strings, and positional encoding systematically enumerates all possible strings of digits of length $k$, leaving none out, before moving on to strings of length $k+1$.

For example, suppose our character set consists of the symbols "0" and "1" (Ie., we are working in binary), and we wish to represent all numbers from 0 to 7, represented by circles. We have the positional encoding, \begin{align} \text{none} & \longleftrightarrow 0 \\ \circ & \longleftrightarrow 1 \\ \circ \circ & \longleftrightarrow 10 \\ \circ \circ \circ & \longleftrightarrow 11 \\ \circ \circ \circ \circ & \longleftrightarrow 100 \\ \circ \circ \circ \circ \circ & \longleftrightarrow 101 \\ \circ \circ \circ \circ \circ \circ & \longleftrightarrow 110 \\ \circ \circ \circ \circ \circ \circ \circ & \longleftrightarrow 111 \end{align}

On the right are all possible strings of length 3 (when prepended by an appropriate amount of zeros). It would be impossible to create an encoding scheme for this using only strings of length 2, because there are only 4 strings of length 2, whereas we need to represent 8 numbers. One could create other optimal encodings by permuting the order of the strings, but that's it.