[問題] 消失的亂數
小弟最近在研究亂數
想取[0, 1]之間的任一浮點數亂數 (包括0與1)
所以寫出了 rand()/(float)RAND_MAX 這樣的語法
結果發現,因為分母是奇數(32767),所以絕對取不到0.5這個亂數
所以試著把分母變為偶數 rand()/(float)(RAND_MAX+1)
但發現這樣取不到1.0這個亂數
又如果改成 (rand()+1)/(float)(RAND_MAX+1)
那可以想像會取不到0.0這個亂數
如果我把分母乘兩倍(一個偶數) rand()/(float)RAND_MAX*2
最後只要我敢把偶數乘數也乘到rand()上 ,那我的亂數就會分佈不均的樣子
(rand()/(float)RAND_MAX*2)*2
不知道有沒有大大有什麼建議的
真的非常謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.83
推
09/24 14:25, , 1F
09/24 14:25, 1F
推
09/24 14:42, , 2F
09/24 14:42, 2F
→
09/24 15:16, , 3F
09/24 15:16, 3F
推
09/24 18:28, , 4F
09/24 18:28, 4F
推
09/25 00:51, , 5F
09/25 00:51, 5F
→
09/25 00:52, , 6F
09/25 00:52, 6F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章