As you know, there exists a bijection . Cantor demonstrated that. You even know how to construct this bijection: if and their decimal expansions are and then . It may be slightly more complicated than that, because in order to get a honest-to-god bijection you’ll need to somehow get around the fact that two decimal expansions may correspond to the same decimal number (for example: 0.999…=1), and it may get tricky, but it’s very doable.
You already knew all of this, or nearly all, but have you ever wondered what does the plot of look like? Well, wonder no more:
What do we see here? First, the surface, or whatever you want to call it, is a fractal. It’s asymmetric, because is asymmetric with respect to its arguments. each of its level-sets consists of a single point, and it’s easy to see why. You may also notice that I cheated a bit, and this is not really the plot of the function I described in the beginning – instead this is a slightly modified version that uses binary expansions instead of decimal ones. It makes no difference in theory, but the plot looks better this way.