ホームページ  >  記事  >  バックエンド開発  >  C で指定された精度でランダムな Double 数値を生成するにはどうすればよいですか?

C で指定された精度でランダムな Double 数値を生成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 19:14:30561ブラウズ

How to Generate Random Double Numbers with Specified Precision in C  ?

C で指定された精度でランダムな Double 数値を生成する

指定された範囲内でランダムな Double 数値を生成することは、プログラミングにおける一般的な要件です。特に、数値に「xxxxx,yyyyy」などの特定の精度が必要な場合、このタスクは少し難しくなる可能性があります。幸いなことに、C には乱数生成を処理するための堅牢なライブラリが用意されています。

解決策には、 のuniform_real_distribution クラスを使用することが含まれます。図書館。この分布では、指定された範囲内でランダムな double を生成できます。次のコードは、このクラスの使用方法を示しています。

<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。