Let's start with the basics:
Though a computer is one of the most stupid things around, it does act like a human when dealing with unnecessary numbers. Think about it: say I make a statement such as this:
1 2
double a = 92.01;
std::cout << a;
What will be printed is
92.01
; it will not print
92.01000000000000
as the zero's are just a waste. The same goes for what you want. The number 1 is not written as 000001, even if you declare it as such.
You could do what you want done, two ways:
1.)Make a string of the number and print it
2.)Make a char array that contains only 0's, and changes to new numbers when given them (this would require more effort, as it would work like a stack)