C では、 rand() 関数は擬似乱数を作成するための信頼できるツールとして機能します。 RAND_MAX と組み合わせて単純な数学演算を実行することで、指定された間隔内でランダムな浮動小数点数を生成できます。レクリエーション プログラムや教育目的の場合は、このアプローチで十分です。ただし、要件が正規分布の真の乱数を必要とする場合は、より高度な手法の実装を検討してください。
0.0 と 1.0 (両端を含む) の間のランダムな浮動小数点を取得するには、次の式を使用します:
float r = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
[0.0, X] の範囲内で浮動小数点を生成するには、次の式を使用します。
float r2 = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / X);
[LO, HI] の範囲内の浮動小数点数を指定するには、次の式を使用します:
float r3 = LO + static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / (HI - LO));
rand() を使用する前に、srand() を呼び出して乱数ジェネレーターを初期化することが重要です。この初期化は、 rand() を呼び出すたびにではなく、プログラムの実行中に 1 回だけ発生する必要があります。一般的な方法には次のものが含まれます。
srand(static_cast<unsigned>(time(0)));
次のヘッダー ファイルのインクルードが必要であることに注意してください。
以上がC でランダムな浮動小数点数を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。