2005-09-16 擬似乱数 プログラミング 昨日は擬似乱数で失敗したという話をした。 0〜7をランダムに発生させるのに、 cstdlibのrand()を使って、 rand()&7 と下の3ビットを使ったら、 ぱっと見はそんなに問題ないけど、 やっぱり多少ホントのランダムよりばらついちゃうんだね、 確率が大きくなったところをみると。 倍まではなってなかったけど。 (rand()&(7*1024))>>10 と上の方を使ったらまあまあの結果が出た。 cstdlibの擬似乱数の発生方法はどういうアルゴリズムか知らないが、 安易に使うと怖い目にあうね。