プログラミング的な

プログラミング的ななにかです

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rand()メモ

お久しぶりです。
パソコンがお亡くなりになったので、
しばらく留守にしていました。

rand()に関するメモ[C]
・RAND_MAX の値
VC++、BC++、LSI C-86 では 32767(0x7fff)
gcc では、 2147483647(0x7fffffff)

C FAQ 13の13.16より
ある範囲の整数からなる乱数はどうやったら生成することができるか。
A:
すぐに思い付く、
rand() % N
(これは0からN-1までの数を返そうとする)は乱数の質が低い。なぜな ら乱数発生器の多くで下位のビットは悲惨なほどランダムでない(質 問13.18を参照のこと)。よりよい方法は以下のようなものである。
(int)((double)rand() / ((double)RAND_MAX + 1) * N)
浮動小数を使うことが気になるのなら、以下の方法を試せばよい。
rand() / (RAND_MAX / N + 1)
どちらの方法もRAND_MAX(ANSIはで定義している)の値を知っ ていることが当然必要である。またどちらもNがRAND_MAXにくらべて 十分小さいことを仮定している。

・・・以下略

だめだなー
もっと勉強しよう。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://proteki.blog66.fc2.com/tb.php/7-83b80392
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。