Project Nayuki


Knuth’s -yllion number notation

Introduction

Donald Knuth proposed an alternative way to write large numbers into English phrases. This way uses fewer kinds of different words compared to the conventionally accepted notation. Take this number for example: 12,345,678,900,011.

In conventional English naming we write this number as: twelve trillion three hundred forty-five billion six hundred seventy eight million nine hundred thousand eleven.

12345678900011
twelvethree hundred forty-fivesix hundred seventy-eightnine hundredeleven
trillionbillionmillionthousand

In the bottom row of the table above, we see that there is a new number name every three digits. That is to say, there is a name for 103 (thousand), 106 (million), 109 (billion), 1012 (trillion), etc.

In Knuth’s -yllion number notation, we group the digits as 12,3456;7890,0011, and write in words: twelve myriad thirty-four hundred fifty six myllion seventy-eight hundred ninety myriad eleven.

12345678900011
twelvethirty-fourfifty-sixseventy-eightninety(zero)eleven
hundredhundred(hundred)
myriadmyriad
myllion

In this case, there is a new number name every time the number of digits doubles. For example, 104 is myriad, 108 is myllion, 1016 is byllion, 1032 is tryllion, etc.

Source code

Here is a program to demonstrate these two systems for naming numbers. Both the Java and Python implementations behave identically.

Supported features:

Notes

More info