Why doesn't Cantor's diagonal argument also apply to natural numbers? In my understanding of Cantor's diagonal argument, we start by representing each of a set of real numbers as an infinite bit string.
My question is: why can't we begin by representing each natural number as an infinite bit string? So that 0 = 00000000000..., 9 = 1001000000..., 255 = 111111110000000...., and so on.
If we could, then the diagonal argument would imply that there is a natural number not in the natural numbers, which is a contradiction.

The reason is simply that natural numbers have a finite representation.  (In set theory, Each one is a finite number of successions from 1, where the successor of n is n+1.)   Your representation scheme essentially respects this, since for any natural number (which will be on the list), after some finite number of digits it becomes all zeros.  Your diagonal element will either be one of these, and so on the list, or a sequence of ones and zeros which never 'zeros out'.  This string is NOT a natural number; it corresponds to nothing in your representation scheme.  The reason the diagonal argument works for real numbers is that they do not have a finite representation.  In set theory they are represented as the limit of an infinite series.
