Tuesday, April 26, 2016

[qfvmgvos] Extremely long scale numbers

Recursive construction of large numbers:

A0 = nine hundred ninety nine = 999
A0+1 = thousand = 10^3 = 10^(3*1) = 10^(3*2^0)
A1 = A0 thousand A0 = nine hundred ninety nine thousand nine hundred ninety nine = 999,999
A1+1 = million = 10^6 =  10^(3*2) = 10^(3*2^1)
A2 = A1 million A1 = nine hundred ninety nine thousand nine hundred ninety nine million nine hundred ninety nine thousand nine hundred ninety nine = 999,999,999,999
A2+1 = billion = 10^12 = 10^(3*4) = 10^(3*2^2)
A3 = A2 billion A2 = 999 thousand 999 million 999 thousand 999 billion 999 thousand 999 million 999 thousand 999 = 999,999,999,999,999,999,999,999
A3+1 = trillion = 10^24 = 10^(3*8) = 10^(3*2^3)
A4 = A3 trillion A3
A4+1 = quadrillion = 10^48 = 10^(3*16) = 10^(3*2^4)
A5 = A4 quadrillion A4
A5+1 = quintillion = 10^96 = 10^(3*32) = 10^(3*2^5)
sextillion = 10^192 = 10^(3*64) = 10^(3*2^6)
septillion = 10^384 = 10^(3*128) = 10^(3*2^7)
octillion = 10^768 = 10^(3*256) = 10^(3*2^8)
nonillion = 10^1536 = 10^(3*512) = 10^(3*2^9)
decillion = 10^3072 = 10^(3*1024) = 10^(3*2^10)
vigintillion = 10^3145728 = 10^(3*1048576) = 10^(3*2^20)

Coincides with American short scale up to 999 million 999 thousand 999 = 10^9-1.  Coincides with British long scale up to 999 thousand 999 billion 999 thousand 999 million 999 thousand 999 = 10^18-1.

I was tempted to introduce a made up suffix like -zillion, e.g., mizillion, bazillion, trizillion..., to avoid redefining existing words, but since there already exists confusion between the American and British scales, I felt there was no harm in adding more.

The key feature is that very large numbers can be expressed while introducing new vocabulary much slower, logarithmically slower, than the traditional method.  The Latin prefixes conveniently line up with the exponent of the power of 2, inspired by the British scale.  (It was also possible to have a construction building from 99 hundred 99 + 1 = thousand, but it does not line up with Latin so well.)

Create a program to convert to and from words and values.  It might be necessary to use the word "zero" as a placeholder to avoid ambiguity.  (Or, prove that such placeholders are not necessary.)  Try the program on some large Mersenne primes.

There's a sort of middle-endian feeling to it, as the most important word that determines the size of the number is embedded somewhere in the middle.

Because of the tree like structure, it might be the basis for steganographically encoding large numbers, e.g., cryptographic keys, as parse trees of sentences with word substitution.  Perhaps use a base other than 10, maybe mixed radix.

Also consider Japanese numerals.

No comments :