title: Right shift and signed integer
body: <p>On my compiler, the following pseudo code (values replaced with binary):</p>
  <pre><code>sint32 word = (10000000 00000000 00000000 00000000);
  word &gt;&gt;= 16;
  </code></pre>
  <p>produces a <code>word</code> with a bitfield that looks like this:</p>
  <pre><code>(11111111 11111111 10000000 00000000)
  </code></pre>
  <p>Can I rely on this behaviour for all platforms and C++ compilers?</p>