title: Fixed point to Floating point
body: <p>I have the following code, I have just copied some data from external RAM to the MCU into a buffer called "data"</p>
  
  <pre><code>double p32        = 4.294967296e+009;       /// equals to 2^32 in decimal notation
  int32_t      longhigh;
  uint32_t     longlow;
  
  offset = mapdata();  //Points to the data I want, 55 bit fixed point on HW
  longhigh = data[2*offset+1]; //Gets upperpart of data 
  longlow =  data[2*offset]; //Gets lower part  
  double floating = (longhigh*p32 + longlow); // What is this doing?  How does it work?
  </code></pre>
  
  <p>Can someone explain that last line of code for me?  Why are we multiplying by p32? Thanks.</p>