我現在的功能是這樣:如何將32位隨機函數輸出縮放爲0 ... 1的值而不會失去精度?
float random(){
return (float)rand_xor128()/UINT_MAX;
}
但後來我意識到,一旦值轉換爲浮動,它會失去精度,對不對?
我應該首先將其轉換爲加倍也許?
float random(){
return (float)((double)rand_xor128()/UINT_MAX);
}
但它感覺不到正確的做法。我應該怎麼做?
[基於隨機比特流中生成隨機浮點值]的可能重複(http://stackoverflow.com/questions/5015133/generating-random-floating-point-values-based-on-random-bit-流) –