Dapatkah nomor floating point IEEE-754 <1 (yaitu dihasilkan dengan generator angka acak yang menghasilkan angka> = 0,0 dan <1.0) pernah dikalikan dengan beberapa bilangan bulat (dalam bentuk floating point) untuk mendapatkan angka yang sama atau lebih besar dari integer itu karena pembulatan?
yaitu
double r = random() ; // generates a floating point number in [0, 1)
double n = some_int ;
if (n * r >= n) {
print 'Rounding Happened' ;
}
Ini mungkin sama dengan mengatakan bahwa apakah ada N dan R sedemikian rupa sehingga jika R adalah angka terbesar kurang dari 1 yang dapat direpresentasikan dalam IEEE-754 maka N * R> = N (di mana * dan> = sesuai IEEE- 754 operator)
Ini berasal dari pertanyaan ini berdasarkan pada dokumentasi ini dan fungsi acak postgresql