http://slashdot.jp/article.pl?sid=06/12/06/0155253#1070556
http://www.kouno.jp/home/c_faq/c13.html
13.18:
真偽値からなる乱数が欲しいのでrand() % 2を使ったところ、結果は 0と1が交互に現れるだけだった。A:
出来の悪い擬似乱数発生器では(いくつかのシステムに乗っているも のは不幸なことにそうである)下位のビットはあまりランダムではな い。上位のビットを使うこと。質問13.16を参照のこと。
C言語 FAQ
http://slashdot.jp/article.pl?sid=06/12/06/0155253#1070556