Main Page | See live article | Alphabetical index

Knuth's up-arrow notation

Knuth's up-arrow notation is a useful way created by Donald Knuth to represent very large integers with iterated exponentiation.

The notation is defined by


That is to say

(m number of ns)

with m number of ns on the RHS.

with m number of ns on the RHS.

Note that evalution always proceedes from right to left.

It is similar to standard exponentiation in a sense; for example:

etc. Often ASCII caret characters ^^ are used instead of ↑↑.

The up-arrow notation gets cumbersome when many arrows are needed (eg Graham's number). The hyper operators and Conway chained arrow offer clearer alternatives: hyper(n,p+2,m) = n→m→p = n^…^m with p arrows. It is generally suggested that Knuth's arrow should be used for relatively smaller magnitude numbers, and the chained arrow or hyper operators for larger ones.


The numbers involved are staggeringly large. Take as an example the very small and simple case:

When foolhardily trying to evaluate on a computer, 8^8 evaluates as 16777216 but 8^16777216 generates a warning message that the calculation will take a very long time. That step never finished, let alone the fourth step! In fact, this number has more digits than there are atoms in the visible universe, by 15,151,256 orders of magnitude.

External links