C で指定された精度でランダムな Double 数値を生成する
指定された範囲内でランダムな Double 数値を生成することは、プログラミングにおける一般的な要件です。特に、数値に「xxxxx,yyyyy」などの特定の精度が必要な場合、このタスクは少し難しくなる可能性があります。幸いなことに、C には乱数生成を処理するための堅牢なライブラリが用意されています。
解決策には、
<code class="cpp">#include <random> int main() { // Define the lower and upper bounds of the desired range double lower_bound = 0; double upper_bound = 10000; // Create a uniform real distribution within the specified range std::uniform_real_distribution<double> unif(lower_bound, upper_bound); // Initialize a random engine std::default_random_engine re; // Generate a random double using the distribution double a_random_double = unif(re); return 0; }</code>
この例では、範囲は 0 ~ 10000 の間で定義されています。unif ディストリビューションはこれらの境界で初期化されます。ランダムな double を生成するには、再エンジンを使用してディストリビューションにフィードします。結果の a_random_double は、指定された範囲内の乱数になります。
C での乱数生成の詳細については、John D. Cook の「C TR1 を使用した乱数生成」または Stroustrup の「乱数生成」を参照してください。 「
以上がC で指定された精度でランダムな Double 数値を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。