I'm a Programmer

not by trade but by nature

Quadrillitresvigintillion and more

Big Numbers

(Note: This page, and this whole site for that matter, uses the American numbering system, also called the short scale for large numbers. In the 21st century you wouldn't think this would be a problem, but a large part of the world use the long scale, a modified short scale, or some other naming system altogether. Just for clarity, in the US and for this site a trillion is 1012 and not 1018.)
Big numbers are a fantastic study in mathematics. Numbers themselves are pretty weird: they are an abstract concept that we can visualize concretely. If I say "seven" it really doesn't mean anything, but you might picture seven amorphous blobs in your head. If I say "seven is greater than two" you nod because your abstraction-comprehending brain-matter understands my assertion. If I show you a bowl with seven balls and a bowl with two balls, your concrete brain can understand the one with seven has more. Abstraction is sometimes difficult to understand because the idea is (excuse my circular logic) abstract, but the lack of a physical object makes big numbers more fun; as numbers get bigger, they start to break our understanding of this simple concept called counting.
Thinking of ten or a hundred people is somewhat easy; you could probably name that many people if you saw their faces. Counting to larger numbers, though, gets a bit tricky. A hundred groups of a hundred people each is a little harder to imagine, but that's ten thousand people, about a thousand less than the number of Cal Poly students in Spanos Stadium watching their men's soccer team beat UCSB's soccer team. Counting to even larger numbers becomes more mind-boggling: a hundred Spanos Stadiums filled with excited Cal Poly students is hard to visualize, and that's only a million.
You may have seen a million discrete objects: a standard 1080p monitor has about two million pixels which is pretty easy to see collectively. But, you have never seen a billion discrete objects, so picturing a billion things at once is near impossible. We know there are about a trillion stars in the Andromeda galaxy, but we can't accurately imagine that. All these big numbers are abstract, but even when abstract, big numbers are still pretty neat.

Naming

One particular topic of interest I took in big numbers is their naming scheme. Most people are familiar with the smaller of the big number names, usually through economics: names like million, billion, and trillion. But once you get to a decillion, what comes after that? In the real world you wouldn't ever have to worry about numbers getting that large, and even in math and science where there are large numbers they just normalize them and multiply by an exponent (6.022 x 1023). Normalized numbers, however, are boring: they don't have any real weight that makes them impressive; 1012 stars in the Andromeda galaxy doesn't sound as good as a trillion stars and 6 x 1023 doesn't sound as good as six hundred sextillion.
This is why we leave the realm of bland scientific notation and enter into the world of ridiculous and impractical large number names. There are many systems for naming large numbers, but the one I quite like is John H Conway's and Richard K Guy's system as defined in their book "The Book of Numbers". Using Conway and Guy's system, one could properly identify the tresviginticentillisesquinquagintaquadringentillion (which is a 1 followed by 370'371 zeros).

Groups

At the core of naming numbers is the digit grouping. In the American English system we divide our big numbers into groups of three digits starting from the ones place. Usually these numbers are separated by commas (1,234,567) but I prefer to use apostrophes (1'234'567); just a matter of taste. Each of these groups is given a group-name: the group on the far right (1'234'567) has no group-name; the group to the left of that (1'234'567) has the group-name "Thousand"; the group to the left of that (1'234'567) has the group-name "Million"; etc.

Converting a Number to Words

We are all familiar with creating the name of a number with multiple digit groups. Every digit group gets its own "name" (a "digit-group-name", if you will) and we concatenate them all together to form the completed name. To get the name of a digit group, we use the name of the inner number (as if it were its own number) and attach the group-name after: the 234 in 1'234'567 becomes two hundred thirty-four thousand. To get the name of a number, we take all the names for all the digit groups and string them together in order from biggest to smallest: 1'234'567 becomes one million, two hundred thirty-four thousand, five hundred sixty-seven.

Conway and Guy's System

That was the basic system for converting a number from numerals to words, but you still don't know what comes after a decillion. Luckily, Conway and Guy's naming system works for any integer with any number of digits, long after decillions and centillions. For big numbers a digit group's group-name is based on its group-number which is, in layman's terms, one less than the number of three-digit groups after it. For example, 807'111'222'333'444 has 4 three-digit groups after the 807, so the 807's group-number is 3, which corresponds to "trillion".
More mathematically speaking, the group-number for a large number M is an integer n such that 103n + 3M and 103(n+1) + 3 > M. Million has the group-number 1 because 103 + 3 = 106 equals a million. From there, group-numbers follow a linear pattern: Billion has group-number 2, Trillion has 3, Quadrillion has 4, Octillion has 8, etc. Thousand is the only odd name since it doesn't end with 'illion' and its group-number is 0 (100+3 = 103 = 1'000). If you think it's odd there is a 3 being added in the exponent, blame Thousand: if Thousand didn't exist and one million was 1'000 and one billion was 1'000'000, then the group-number would just be the number of three-digit groups with no addition/subtraction mumbo-jumbo.
You know how to get the group-number for any large number, now what? We will use the digits of the group-number and Latin prefixes to construct the group-name. Like we used the digits in groups of the big number to get the names of the digit groups, we use the digits in groups of the group-number to get the group-name associated with that group-number. It's all confusing with all this English but once you see the math it will be easier to understand.

Constructing a Group-Name

The construction of a group-name uses the following table. First, observe the table and see that on the left are the digit values from 0 to 9, and to the right of them are the names for each digit depending on its spot in the digit group of the group number.
Digit Solo Ones Tens Hundreds
0 ni
1 mi un n deci nxcenti
2 bi duo msviginti n ducenti
3 tri tre(s) nstriginta nstrecenti
4 quadri quattuor nsquadraginta nsquadringenti
5 quinti quinqua nsquinquaginta nsquingenti
6 sexti se(s/x) n sexaginta n sescenti
7 septi septe(m/n) n septuaginta n septingenti
8 octi octo mxoctoginta mxoctingenti
9 noni nove(m/n) nonaginta nongenti
The process for finding the corresponding group-name for a group-number is the same as the process described earlier of converting a number from numerals to words: split the group-number into digit groups, get the name of each digit group, and string them all together, except this time we use the Latin names instead of the number's actual English names.

Rules for Construction

To get the name of a digit group, you take the Latin names for the ones digit, the tens digit, and the hundreds digit and conjoin them in that order. If in a digit group the tens and hundreds are both 0, then use the name for the ones under the "Solo Ones" column, otherwise use the name for the ones under the "Ones" column; you would not say "unillion" instead of "million", but you wouldn't say "midecillion" instead of "undecillion". If the group-number has more than one digit group (the group number is 1'000 or more), then for each digit group except the last group you replace the last vowel of the name with "illi"; for the very last group you replace the last vowel with "illion". If the ones digit has a letters in parentheses and the next name to be added next has one of the letters in the small letters before it in the table, you place that shared letter between the two: if the ones digit is 3, you place an "s" if the next name has either "s" or "x" before it in the small letters.
Here are the rules in a concise list:
The last rule is done to remove ambiguity between some group-names. Without those "filler letters", notice how group-number 103 would have "tre" + "centi" to produce "trecenti", but group-number 300 is already "trecenti". Also note that "octo" does not have a filler letter, so "octooctogintillion" is the correct name for group-number 88, in which you would say "octo octo gin tillion"

Examples

The following is a table demonstrating the process behind constructing the group-name for various group-numbers. The numbers were selected to demonstrate the various rules and relieve any confusion.
Group-number Ones Tens Hundreds Replacement Result
824 quattuor viginta octingenti illion quattuorvigintaocingentillion
75'930 quinqua septuaginta illi quinquaseptuagintillitrigintanongentillion
triginta nongenti illion
88 octo octoginta illion octooctogintillion
36 ses triginta illion sestrigintillion
4'050 quadri illi quadrilliquinquagintillion
quinquaginta illion
32'000'106 duo triginta illi duotrigintillinillisexcentillion
ni illi
sex centi illion
106'600 sex centi illi sexcentillisescentillion
sescenti illion

A Nifty Little Rectangle (Getting Group Name from Group Number)

This rectangle comes from my Number Namer project. Check that page for more in-depth information about the project. This rectangle returns the group-name for any group-number using the rules from above. All you need to do is put in a group-number and click the button and the resulting group-name will appear in the grey box below.

Constructing a Big Number's Name

Now you know how to create the group-name for every group-number you can possibly imagine, and thus you can name every number in existence! How exciting! To get the digit-group-name, attach the group-name after the name of the inner number. To get the name of a number, we take all the names for all the digit groups and string them together in order from biggest to smallest.

Demonstrative Example

In the following example we will follow the process to generating a big number name using the following big number with 33 digit groups.
389'000'905'416'340'299'825'375'650'499'727'636'148'832'836'837'791'372'546'359'967'160'218'141'192'586'265'492'757'482'507'196'016
First we take the 389 group at the beginning and find its digit-group-name. It has 32 groups following it, which gives it a group-number of 31 and a group-name of "untrigintillion"; therefore the digit-group-name of the 389 is three hundred eighty-nine untrigintillion.
The next group is all zeros, so we can skip it.
Next we take the 905 group that comes next and find its digit-group-name. It has 30 groups following it, so it has a group-name of "novemvigintillion", thus its digit-group-name is nine hundred five novemvigintillion.
Then we take the following 416 group and find its digit-group-name. Its group-number is 28 and its group-name is "octovigintillion", so its digit-group-name is four hundred sixteen octovigintillion.
We continue until all groups have been named, then we smash them together into this behemoth:
three hundred eighty-nine untrigintillion, nine hundred five novemvigintillion, four hundred sixteen octovigintillion, three hundred forty septemvigintillion, two hundred ninety-nine sesvigintillion, eight hundred twenty-five quinquavigintillion, three hundred seventy-five quattuorvigintillion, six hundred fifty tresvigintillion, four hundred ninety-nine duovigintillion, seven hundred twenty-seven unvigintillion, six hundred thirty-six vigintillion, one hundred forty-eight novendecillion, eight hundred thirty-two octodecillion, eight hundred thirty-six septendecillion, eight hundred thirty-seven sedecillion, seven hundred ninety-one quinquadecillion, three hundred seventy-two quattuordecillion, five hundred forty-six tredecillion, three hundred fifty-nine duodecillion, nine hundred sixty-seven undecillion, one hundred sixty decillion, two hundred eighteen nonillion, one hundred forty-one octillion, one hundred ninety-two septillion, five hundred eighty-six sextillion, two hundred sixty-five quintillion, four hundred ninety-two quadrillion, seven hundred fifty-seven trillion, four hundred eighty-two billion, five hundred seven million, one hundred ninety-six thousand, sixteen

A Second Nifty Little Rectangle (Getting Name of Number)

Like the previous Nifty Little Rectangle, this also comes from my Number Namer project. Type in a number and click the button, and it will return the full name of the number.

A Convenient Nifty Little Rectangle (Getting Name of Power of Ten)

A lot of times large numbers are expressed as "ten to the power bleh" (10bleh). As convenient as that notation is for representing large numbers, it gets annoying when we need to calculate the group-number manually to get the number's name. On top of that the number could represent either "one blehllion", "ten blehllion", or "one hundred blehllion". To fix this, I present the "Power of Ten Rectangle", which will calculate the group-number for you and give you the number's name.

Some Other Big Numbers

There are many big numbers: there are infinitely many of them. Many of the more famous big numbers are simple in creation: a googol is 10100 and a googolplex is 10googol. Even though a googol seems large you can still write it (100 zeros is not a lot). In fact, this is one googol:
10'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000
One googol is equal to ten duotrigintillion. Anyone can find that easily by typing in a 1 with a hundred zeros into my Number Namer project. You could also count the digit groups after the 10 in the first group (33) and figure out the group number (32) and use your newfound knowledge of group-name construction to figure it out. Or you could plug the appropriate number into the nifty rectangles provided above.

How about a Googolplex?

We know a googolplex is 10googol, or 1010100; that is a 1 followed by the number of zeros specified by the large number above. In order to write out one googolplex, if you wrote a zero on every atom of the observable universe, you would need to write about a sextillion zeros per atom. Even though we will never be able to write out a googolplex in all its glory, I can tell you one googolplex is
ten trilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­trestrigintatrecentilli­duotrigintatrecentillion
or
ten trilli + (trestrigintatrecentilli * 32) + duotrigintatrecentillion.

The Derivation

You may be thinking "How the hell did you come up with that?". I came up with this large number name using the upcoming derivation. This derivation is not formal in any way but still demonstrates how to construct names for any number \(10^{10^R}\). First a few givens that we know to be true:
  1. An integer that is \(1\) followed by \(n\) zeros can be written as \(10^n\)
  2. The corresponding integer for a group-number \(M\) is \(10^{3M + 3}\)
  3. \({10^R \equiv 1} \pmod 3\) for any integer \(R \gt 0\)
Suppose an integer was \(1\) followed by \(n\) zeros, it would have a group-number \(M\).
\[10^n = 10^{3M+3}\]
Taking the base 10 logarithm of both sides, equates functions of \(n\) and \(M\) directly to each other and we can solve for \(M\).
\[\begin{align} n & = 3M+3 \\[1ex] n - 3 & = 3M \\[1ex] \frac{n-3}3 & = M \end{align}\]
Because \(M\) is an integer, the division by \(3\) will need to be adjusted to prevent non-whole numbers. If \(3\) divides \(n\) (meaning there are whole digit-groups of zeros like 1'000'000) then \(M\) is just \(\frac{n-3} 3\). If \(3\) does not divide \(n\) (indicating that there are some zeros that do not form a complete group like 10'000'000), then \(M\) equals either \(\frac{(n-1)-3} 3\) or \(\frac{(n-2)-3} 3\).
\[M = \begin{cases} \frac{n - 3} 3, & \text {if} \; n \bmod 3 = 0 \\[1ex] \frac{(n - 1) - 3} 3, & \text {if} \; {n - 1} \bmod 3 = 0 \\[1ex] \frac{(n - 2) - 3} 3, & \text {if} \; {n - 2} \bmod 3 = 0 \end{cases}\]
Suppose an integer was \(1\) followed by \(n=10^R\) zeros, it would be written out as \(10^{10^R}\). \({10^R \equiv 1} \pmod 3\), so \(\left (10^R - 1 \right ) \bmod 3 = 0\). Using the first given at the top of the list, we know
\[n = 10 \ldots 00 \; \text{($0$ repeated \(R\) times)}\]
Letting \(n'=n - 1\), subtracting \(1\) from that gives us
\[n' = 9 \ldots 99 \; \text{($9$ repeated \(R\) times)}\]
We can solve for \(M\) using \(n'\) and these arbitrarily large numbers.
\begin{align} M & = \frac{(n - 1) - 3} 3 \\[1ex] & = \frac{n' - 3} 3 \\[1ex] & = \frac{9 \ldots 99 - 3} 3 & \text{($9$ repeated $R$ times)} \\[1ex] & = \frac{9 \ldots 96} 3 & \text{($9$ repeated $R - 1$ times, then $6$)} \\[1ex] & = 3 \ldots 32 & \text{($3$ repeated $R - 1$ times, then $2$)} \end{align}
The group-name for an integer \(10^{10^R}\) can be found using the group-number \(M = 3 \ldots 32 \; \text{($3$ repeated $R - 1$ times, then $2$)}\). The name of the integer \(10^{10^R}\) involves "ten" followed by the aforementioned group-name; it has "ten" because \(10^R \bmod 3 = 1\), meaning there's one more zero than a number with a 3-divisible number of zeros.0
A Googolplex is \(10^\text{googol}\) which can also be written as \(10^{10^{100}}\), thus \(R = 100\). The group-number for a googolplex is \(3 \ldots 32 \text{($3$ repeated $99$ times, then $2$)}\), which looks like the following when written out.
3'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'333'332
or
3 + (333 repeated 32 times) + 332
Using the group-name constructing rules in Big Numbers, the group-name for a googolplex starts with trilli, has a bunch of trestrigintatrecentillis, and ends with duotrigintatrecentillion. Thus, a googolplex is ten trillitrestrigintatrecentilli...duotrigintatrecentillion.
QED