title: Bitwise operations on unsigned long long in c
body: <p>I've stumbled upon a following problem, could anyone please help?
  I'm trying to use bitwise operations, and I'm expecting this to print the value of 2^50. The output, however, is 0. The maximum I can get it to print is 2^31, which is supposed to be the maximum of normal int, right? So am I doing something terribly wrong here? Thanks in advance.</p>
  
  <blockquote>
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;inttypes.h&gt; 
  int main(void)  
  {
  uint64_t x=(1&lt;&lt;50);
  printf("%"PRIu64,x);
  return 0;
  }
  </code></pre>
  </blockquote>