Re: Octal problem
Conall: No, << redirects the value to an output which in this case is stdout (std::cout)
A leading zero in C/C++ means 'Octal'. Therefore the first number (001) is in Octal, but it doesn't matter because under all number bases it still outputs 1. The second number is in Octal (010), and as base 8 runs with digits 0-7 per digit position, it evaluates to decimal 8. The third number (100) has no leading zero, so it's decimal and outputs as 100.
Therefore 18100