[解決済み】浮動小数点数の乱数生成
2022-01-26 14:42:30
質問内容
C++でランダムな浮動小数点数を生成するにはどうしたらいいですか?
整数のrandを何かで割ればいいと思ったのですが、それで十分なのでしょうか?
どのように解決するのですか?
rand()
は、C++で擬似乱数を生成するために使用することができます。 との組み合わせで
RAND_MAX
と少しの計算で、任意の間隔で乱数を発生させることができます。 学習用やおもちゃのプログラムにはこれで十分です。 もし
本当に
正規分布の乱数であれば、より高度な方法を採用する必要があります。
これは、0.0から1.0までの数字を生成します。
float r = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);
これは、0.0からある任意の数値まで生成します。
float
,
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()
関数は、本当に乱数が必要な場合には、十分でないことが多いでしょう。
を呼び出す前に
rand()
を呼び出すことで、乱数生成器をシードする必要があります。
srand()
. この作業は、プログラムの実行中に一度だけ行う必要があります。
rand()
. これはよくこんな風に行われます。
srand (static_cast <unsigned> (time(0)));
を呼び出すために
rand
または
srand
しなければならない
#include <cstdlib>
.
を呼び出すために
time
を使用する必要があります。
#include <ctime>
.
関連
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み】大文字と数字を含むランダムな文字列の生成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】'cout'は型名ではない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む