私はrand()を使って-50.0と50.0の範囲でランダムな浮動小数点を生成しようとしています。私はどこでも答えを探しましたが、intと%operatorを扱っています。負の範囲から正の範囲へのランダムフロートの生成?
10
A
答えて
11
これを試してみてください:
float RandomNumber(float Min, float Max)
{
return ((float(rand())/float(RAND_MAX)) * (Max - Min)) + Min;
}
5
これを試してみてください:
rand()
はそうあなたが-50〜100の範囲を望んで0と- 1の間の数を取得するために
RAND_MAX
で割るあなたに0と RAND_MAX
間の数を示します50、したがって最終的に50.0
4
((float)rand())/RAND_MAX * 100.0 - 50.0
4
正直なところ、すべての現在の答えは(私は(そのランドを想定しています彼らのソリューションの分布の変化があることを説明していない)均一な分布に従います!私が間違っていたら私を修正してください)。ライブラリをしてください使用して、私のお勧めは、C++ 0xの中に新しい施設を使用している:
#include <random>
#include <functional>
int main()
{
std::mt19937 generator;
std::uniform_real_distribution<float> uniform_distribution(-50.0, 50.0);
auto my_rand = std::bind(uniform_distribution, generator);
}
あなたができない場合は、ブーストは完璧な選択です。
std::vector<float> random_numbers(1000);
std::generate(random_numbers.begin(), random_numbers.end(), my_rand);
関連する問題
- 1. 正負の範囲のハンドル範囲演算子?
- 2. HTML5入力タイプの範囲は正から負へ
- 3. MATLABの負の範囲と正の範囲の間のランダムな整数の生成
- 4. の生成範囲ベクトルが
- 5. 責任範囲の範囲
- 6. plotly.jsの範囲範囲
- 7. ループ範囲の範囲
- 8. 2つの範囲の結合から別の範囲の行へのVBAコピー
- 9. VBA Excel - 2番目のファイルからVBA範囲のオブジェクトへのコピー範囲
- 10. 範囲スライダウィジェットからPyQt5への移植
- 11. ベクトルのベクトルの範囲の範囲
- 12. VBA - 範囲2の最大値からの範囲の設定
- 13. UITextViewの範囲へのスクロール
- 14. SQL:日付範囲のセットから新しい範囲の日付範囲を作成する
- 15. svn diffの改訂範囲の範囲
- 16. groupbyの範囲の範囲 - パンダ
- 17. coutブーストの範囲:要素の範囲
- 18. Excel VBAの範囲から最初の列範囲を取得
- 19. 使用範囲オフセットからの範囲の設定
- 20. 別の範囲の値から範囲を定義する
- 21. 範囲を重複範囲の範囲に分割
- 22. ifステートメントへの範囲
- 23. ベクトルへの整数範囲
- 24. 色範囲を選択し、その範囲のベクトルマップを作成
- 25. 日付範囲フィールドの範囲集計
- 26. vba範囲オフセット範囲の相対値
- 27. 日付範囲の累積数範囲
- 28. Matlabの範囲 - ガンマ補正
- 29. ピクセルからの範囲
- 30. x3からy3の範囲?
可能重複[C++ランダムフロート](http://stackoverflow.com/questions/686353/c-random-float:その方法は、あなただけの古き良きランド()のようなmy_randを()を使用することができます) –