title: Turn two uint32_t into a uint64_t, then turn back into a double based on the bit pattern not the value
body: <p>the code that hands me the two uint32_t essentially takes a double, in binary cuts it in half so half the bytes are in one variable and the other half are in the other.</p>
  
  <p>My program need to take them and stitch it back together.</p>
  
  <pre><code>int x = 0b00111101110100011101110111110111;
  int y = 0b11100111001100101010000110111001;
  
  uint64_t int64 = (long long) x &lt;&lt; 32 | y;
  double d = static_cast&lt;double&gt; (int64);
  </code></pre>
  
  <p>this is what i have so far and it doesnt give the correct output at all.</p>
  
  <p>it gives:       1.84467e+19
  it should be:   6.49999999999999952595094363798E-11</p>
  
  <p>Thanks</p>