The Champernowne constant is a transcendental decimal number whose digits are the concatination of all positive integers.
C10 = 0.12345678910111213141516...
10
The binary version of this is
C2 = 0.1101110010111011110001...
2
Write a program that prints C2 in decimal. The program should never halt. It should continue printing digits such that given infinite time and memory, it will print an infinite number of correct digits.
To illustrate this, you must account for integer overflow, since integer overflow will either cause an error or print incorrect digits, even with infinite memory available.
To test your code, here are the first 150 digits of this number.
0.862240125868054571557790283249394578565764742768299094516071214557306740590516458042038441438618133400466718933678923129464456214392016383510596824661
Shortest code wins.