title: What is the maximum size of signed long long data type in 32 bit Linux
body: <p>I am trying to run the below program in 32 bit Linux platform.</p>
  
  <pre><code>    int main()
      {
           unsigned long long  val  = 0;
           val   = 140417 * 100000 + 92 + 1;
      }
  </code></pre>
  
  <p>The output is some garbage value (1156798205).</p>
  
  <p>After some research, I found that :<a href="https://www.assembla.com/spaces/zsync-windows/wiki/Types_sizes/print" rel="nofollow">here</a></p>
  
  <pre><code> long long size: 64 bits (MAX VALUE: signed long long = 144115188075855871, unsigned long long = 1073741823) 
  </code></pre>
  
  <p>The above code is giving the same problem with Visual Studio 2005 for both the datatypes unsigned long long and signed long long.</p>
  
  <p>But as per the MSDN documentation:
  <a href="http://msdn.microsoft.com/en-us/library/s3f49ktz%28v=vs.80%29.aspx" rel="nofollow"> here</a></p>
  
  <pre><code>unsigned long long  8 byte  range of values  0 to 18,446,744,073,709,551,615
  </code></pre>
  
  <p>I am wondering how to handle large range of values in 32 bit Linux platform using the C++ program.</p>
  
  <p>Thanks for you help.</p>