title: What is special about numbers starting with zero?
body: <p>This is kinda stupid question, but it's interesting for me )</p>
  
  <p>This is what i get with visual studio 2013</p>
  
  <pre><code>int i = 07;     // i == 7
  int i = 16;     // i == 16
  int i = 00016;  // i == 14, why?
  int i = 05016;  // i == 2574, wow )
  int i = 08;     // compile error, compiler expects octal number...
  </code></pre>
  
  <p>If number starts with zero and contains 8, it's compile error. Is this normal? And what exactly compiler does with starting zeros if 00016 == 14?</p>
  
  <p>Thanks to all ))</p>