title: Generating Doubles With XORShift Generator
body: <p>So I am using the <a href="http://en.wikipedia.org/wiki/Xorshift" rel="nofollow">Wikipedia entry</a> of XORShift Generators to make a PRNG. My code is as follows.</p>
  
  <pre><code>uint32_t xor128(void) {
      static uint32_t x = 123456789;
      static uint32_t y = 362436069;
      static uint32_t z = 521288629;
      static uint32_t w = 88675123;
      uint32_t t;
  
      t = x ^ (x &lt;&lt; 11);
      x = y; y = z; z = w;
      return w = w ^ (w &gt;&gt; 19) ^ t ^ (t &gt;&gt; 8);
  }   
  </code></pre>
  
  <p>My question is, how can I use this to generate double numbers between [0, 1)?</p>
  
  <p>Thanks for any help.</p>