A ruler where two numbers are close when their difference is divisible by a high power of p. Numbers sit on the tips of a branching tree; the deeper two paths agree, the closer the numbers.
Distance by divisibility. The p-adic size of a nonzero integer n is |n|ₚ = p^(−v), where pᵛ is the largest power of p dividing n. So 1024 is tiny 2-adically, and 1 and 2 are far apart. Two numbers are close when their difference is divisible by a big power of p.
The tree. Read each number's base-p digits from the right. The first digit picks a branch at the center, the next picks a branch at the next ring, and so on. Two numbers share a path for exactly v steps, where pᵛ divides their difference. Their distance is p^(−v): the deeper they split, the closer they are.
The ultrametric. Every triangle is isosceles with the two long sides equal: |a − c| ≤ max(|a − b|, |b − c|). On the tree this is obvious: three paths can split in only one of two ways.
Adding slides the tree. Adding n moves every tip, and the carries are jumps between branches. The tree only shows numbers modulo p^depth, so a slide wraps around, just as a circular slide rule wraps at one decade.
Limits. Powers of p march inward toward 0's tip. The partial sums of (p−1)(1 + p + p² + …) march toward the tip of −1, which is written …(p−1)(p−1)(p−1) in base p. So 1 + p + p² + … = 1/(1 − p), and for p = 2 that reads 1 + 2 + 4 + 8 + … = −1.