Sorry but this is probably a naive question.
Why can't you generate real numbers by a*10^b, the same way as rational numbers by a/b? a and b could be integers so that you would start counting real numbers like:
a\b 0 1 -1 2 -2
0 0 0 0 0 0
1 1 10 0.1 100 0.01
-1 -1 -10 -0.1 -100 -0.01
2 2 20 0.2 200 0.02
-2 -2 -20 -0.2 -200 -0.02
That would just take all of the integers and also apply a decimal point anywhere on those integers, thus making the real numbers no? Which ones would be missing?
Plus I don't understand the diagonal argument because the real number set is infinite, so surely the diagonal would just go on forever so you can never check them all since there will be more and more, never ending.
The numbers that would be missing from this scheme would include every single irrational number, and many rationals, too. Specifically, this scheme includes only the rationals with terminating decimal representations.
The upshot of the diagonal argument has nothing to do with checking. What we do is take a countable list of real numbers, and then construct a real number that is not on that list (it will be real by completeness of the reals), by making sure that it fails to match every number on the list in (at least) one decimal place. This argument works for any countable list of real numbers, meaning that no countable list of real numbers will include every real number, meaning that the set of all reals is uncountable.