I am familiar with Cantor's diagonal argument and how it can be used to prove the uncountability of the set of real numbers. However I have an extremely simple objection to make. Given the following:
Theorem: Every number with a finite number of digits has two representations in the set of rational numbers.
Proof: It follows from the fact that 0,9999... = 1, that any integer $n$ can be represented as $(n-1),9999...$ This similarly works for rational numbers with finite digits, as follows: let $n_i$ be the $i$-th digit after the comma of a rational number with a finite number of digits $k$. Then $n,n_1n_2...n_k = n,n_1n_2...(n_k-1)999...$.
Now, going through Cantor's diagonalization argument, assume that I built what I claim to be an exhaustive list of all real numbers in binary representation. Then, Cantor would claim that the number created by concatenating the negated $i$-th digit of the $i$-th number is not contained in my list. To which I would reply: "Yes, but can you prove that your number is not the alternative representation of one already present in the list?", following the theorem above.
How does my remark not disprove or at least require further efforts in Cantor's proof? Has this point already been made?
EDIT:
The point is invalid if the base is different from 2, giving Cantor the choice of avoiding the more "offending" decimals 9 and 0. However, in the case of binary representation, which is the most commonly thought in universities, how could he make sure that happens by simply flipping bits as described above? It seems to me that he would have to go through the rather complex process of converting the binary number to another base, flipping its digits avoiding 0s and 9s, and converting back.