title: Difference in digits10 between GCC and MSVC
body: <p>I have the following code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;limits&gt;
  
  int main()
  {
     std::cout &lt;&lt; std::numeric_limits&lt;unsigned long long&gt;::digits10 &lt;&lt; std::endl;
     return 0;
  }
  </code></pre>
  
  <ul>
  <li>GCC 4.4 returns   19 </li>
  <li>MS VS 9.0 returns 18</li>
  </ul>
  
  <p>Can someone please explain Why is there a difference between the two? I would have expected such a constant would be the same regardless of the compiler.</p>