An exploration in number systems

For most people, the denary system of numbers is perfectly natural. So much so that people don’t even give other options a second thought. The alternatives are not just hypothetical but are in their own way ingrained in our culture.

What is the denary system of numbers?

Denary from the Latin decem for ten, is a system of numbers where we have 10 symbols 0 to 9. For this, we use a positional number system based on powers of 10.

Each column to the left has a value 10 times that to the right.

The number 1000 is:


This isn’t the only system that could be used and in fact, 10 is special only in the sense that we have 10 fingers. If the number of fingers isn’t taken into account then base 12 would make arithmetic a lot simpler.

Instead of a 10s column you have a dozens, instead of 100s you have 144s. For this you ofcourse need more symbols. 10 is represented with the symbol A and 11 is represented with the symbol B. 12 is represended as 1 dozen and 0 units. 10

Twelve has more devisors than does ten and so it's decimal expansions of the first twelve fractions are much simpler than they are for base 10. 

In base 12:

10/2 = 6

10/3 = 4

10/4 = 3

10/5 = 2.49724972…

10/6 = 2

10/7 = 0.186A351869A1558852A2…

10/8 = 0.16

10/9 = 0.14

10/A = 1.24972497249724972497…

10/B = 0.AAA…

10/10 = 0.1

1/2 = 0.6

1/3 = 0.4

1/4 = 0.3

1/5 = 0.249724972…

1/6 = 0.2

Whereas in base 10:

10/2 = 5

10/3 = 3.33333…

10/4 = 2.5

10/5 = 2

10/6 = 1.66666…

10/7 = 0.14285714285…

10/8 = 0.125

10/9 = 0.111…

10/10 = 0.1

10/11 = 0.9090909…

10/12 = 0.8333333…

1/2 = 0.5

1/3 = 0.333333…

1/4 = 0.25

1/6 = 0.166666…

We use other bases as well although we often write the numbers in base 10 splitting the columns with a delimiter rather than simply position.

Take for example the time, represented as a base 60 number of seconds since midnight. A colon is used as the delimiter and rather than 60 symbols each would-be-symbol is represented in base 10. Thirty seconds after quater to one in the afternoon is:


We also use, by the same logic a kind of base 12 for analog clocks. Imperial mesearments use all kinds of bases often written with each block in base 10 as with the time.

What about something else?

I have been curious if given the progression from tallies to position number systems which I see as going from making adding trivial to making multiplication easier, could we create a number system for which it is easy to do things that are hard in our positional system.

One of the things which is hard is prime decomposition. What if you use a number system that treats prime numbers as first-class citizens. Rather than building the number system up by adding 1, the number system is built by composing primes.

In this system, addition is really hard but multiplication can be trivial.

What would this number system look like? Well instead of units, tens hundreds you have twos, threes, fives, sevens…

In this number system finding the next prime number is trivial. So is finding the prime decomposition.

How would we represent the number 1.

Well as the multiplicative identity (which is a fancy way of saying x*1≡ x) we can represent that with nothing:


Two is then the first prime and so is represented with an indication:


Three as the second prime is represented as:


The number represented by two ones is then 3 times 2 or 6:

11 = 6

How is four represented then? This is where the notation gets a little complicated. As opposed to the positional number we normally use this representation requires lots of directions.

There might be a better way to represent this than using 1 and -. For example, we could use brackets to specify the power of the number in our existing number system.

Then the first 10 numbers would be:











Which looks suitably chaotic however if we show just the prime numbers:







We can see that this pattern becomes really simple. What about the prime decomposition of a number. Take 1517 what is its prime decomposition?

Well if we represent it in this number system:


We should be able to read off that the prime is composed of:

(-)----------- and (-)------------

37 and 41

I’m not saying that this is a trick that allows the computing of prime decomposition to be simplified breaking internet security. For this to be simple the numbers need to be represented in this format to start with. The conversion into this number format requires that the prime decomposition is known.

I have done a little exploration on this number system but I haven't yet come up with a set of operations that don’t require addition at some level.

Multiplication looks like it should be simple, you can simply insert the numbers in the right positions:

11*7 = 77

(-)---- * (-)— = (-)(-)—

10000 * 1000 = 11000 <- it might be easier to see if the (-) are replaced with 1s

The problem comes when you have two of the same prime in the multiplication:

3*3 = 9

(-)- * (-)- = (- + -)- = ((-))-

As I mentioned earlier addition is hard in this number system. In general, you have to convert the number back to the standard number system do the addition and then go back to this prime number representation.

Powers are simple in a lot of cases.

2^2 = 4

(-) ^ (-) = ((-))

Here we see addition cropping up its ugly head again (at least through the eyes of this prime based number system).

(2^2)^2 = 16

[(-)^(-) ] ^ (-) = ((-))^(-) = ( (-)*(-) ) = ((- + -)) = (((-)))

If we don’t bracket the powers the calculation is much simpler than in the standard number system.

3^3^3 = 19683

(-)-^(-)-^(-)- = (-)-^((-)-)- = (((-)-)-)-


Popular posts from this blog

Exploring development timing through building a simple trading game

The twelve fold way

THREE.js: minecraft in a weekend