C++ Alignment/Shift issue
<p>I have a string:</p>

<blockquote>
  <p>"the quic"</p>
</blockquote>

<p>Which is passed on to a function where the bits that make up the string are stored in an unsigned __int64. Resulting in the following output:</p>

<blockquote>
  <p>0111010001101000011001010010000001110001011101010110100101100011</p>
</blockquote>

<p>However when I pass a string containing these values:</p>

<blockquote>
  <p>0xDE, 0x10, 0x9C, 0x58, 0xE8, 0xA4,
  0xA6, 0x30, '\0'</p>
</blockquote>

<p>The output isn't as correct as I expected:</p>

<blockquote>
  <p>1111111111111111111111111111111111111111111111111010011000110000</p>
</blockquote>

<p>I'm using the same code as in the first string, which reads:</p>

<blockquote>
  <p>(((unsigned __int64)Message[0]) &lt;&lt; 56) | (((unsigned __int64)Message[1]) &lt;&lt; 48) |<br>
  (((unsigned __int64)Message[2]) &lt;&lt; 40) | (((unsigned __int64)Message[3]) &lt;&lt; 32) |<br>
  (((unsigned __int64)Message[4]) &lt;&lt; 24) | (((unsigned __int64)Message[5]) &lt;&lt; 16) |<br>
  (((unsigned __int64)Message[6]) &lt;&lt;  8) | (((unsigned __int64)Message[7]));</p>
</blockquote>
