title: How do I bit shift a long by more than 32 bits?
body: <p>It seems like I should be able to perform bit shift in C/C++ by more than 32 bits provided the left operand of the shift is a long.  But this doesn't seem to work, at least with the g++ compiler.</p>
  
  <p>Example:</p>
  
  <pre><code>unsigned long A = (1L &lt;&lt; 37)
  </code></pre>
  
  <p>gives</p>
  
  <pre><code>A = 0
  </code></pre>
  
  <p>which isn't what I want.  Am I missing something or is this just not possible?</p>
  
  <p>-J</p>