C / C ++で書かれた小さなアプリケーションで、rand
関数とおそらくシードの問題に直面しています:
次数が異なる、つまり対数の値が異なる(2を底とする)一連の乱数を生成したい。しかし、生成される数値はすべて同じ次数であり、2 ^ 25と2 ^ 30の間で変動しているようです。
rand()
これは、現在比較的大きな数値であるUnix時間がシードされているためですか?何を忘れてるの?rand()
の初めに1回だけ播種しmain()
ます。
rand()
均一に分散された数値を返すことを期待するので(Googleの高いランキングのドキュメントはそれを明確に述べています)、この質問は将来の読者にとって有用だとは思いません。そのため、反対票を投じますが、SOの使用を思いとどまらせないでください。