title: Squaring a number in C++ yields wrong value
body: <p>If I do </p>
  
  <pre><code> int n = 100000;
   long long x = n * n;
  </code></pre>
  
  <p>then <code>x == 1410065408</code></p>
  
  <p>1410065408 is 2^31, yet I expect x to be 64 bit</p>
  
  <p>What is going on?
   I'm using VSC++ ( default VS c++ compiler )</p>