How many bits to count to N? Exactly, log₂N. Morris's approximate counter asks for far less: it stores only a small exponent c, and estimates the count as 2c−1. It increments probabilistically — the bigger c already is, the rarer the bump — so c tracks log₂N, and the register needs only log₂log₂N bits. Counting to a million costs a handful of bits, not twenty. It is the first streaming sketch: trade a little accuracy for a double-logarithmic memory that no exact counter can ever reach — because exactness requires log₂N bits, and this is provably below that floor.
A count of about a thousand. The demo shows the exponent that represents it and the bits each form needs — exact vs Morris: live demo
“Counting to N needs log N bits.” — only for an exact count. Morris's probabilistic counter tracks the exponent and needs log log N bits — below the exact floor, by design. cited
The number is never stored — only how many doublings it takes to reach it. A count that lives below the logarithm. Morris 1978
On the canonical compiler, a count near 1023 is represented by exponent c=10 (210−1), which fits in 4 bits where the exact count needs 10: