ホームページ  >  記事  >  バックエンド開発  >  C で 10 進精度の乱数を生成するにはどうすればよいですか?

C で 10 進精度の乱数を生成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 10:49:02587ブラウズ

How to Generate Random Numbers with Decimal Precision in C  ?

C で 10 進精度の乱数を生成する

乱数の生成は、さまざまなプログラミング アプリケーションで不可欠なツールです。 C では、乱数を生成する方法がいくつかありますが、特定の形式で double を生成する最も簡単な方法は、 std::uniform_real_distribution クラスを使用することです。

指定された間隔内で乱数 double を生成するには、次のようにします。次の手順を使用できます:

  1. 必要なヘッダーを含めます: を含めます。ソース コード内のヘッダー ファイル。
  2. 境界の定義: 乱数を生成する間隔の下限と上限を決定します。
  3. 初期化ランダム エンジン: std::default_random_engine のインスタンスをインスタンス化して、ランダム値のストリームを生成します。
  4. 一様分布の作成: 境界を指定して std::uniform_real_distribution のオブジェクトを作成します。引数。
  5. Generate Random Double: ランダム エンジンを使用して配布オブジェクトの Operator() を呼び出し、間隔内でランダムな Double を生成します。
<code class="cpp">#include <random>

int main() {
    double lower_bound = 0;
    double upper_bound = 10000;
    std::uniform_real_distribution<double> unif(lower_bound, upper_bound);
    std::default_random_engine re;
    double a_random_double = unif(re);

    return 0;
}</code>

このコード スニペットは、10 進精度で 0 から 10000 までのランダムな double を生成します。これは質問の要件を満たしています。詳細については、John D. Cook の記事「C TR1 を使用した乱数生成」または Stroustrup のガイド「乱数生成」を参照してください。

以上がC で 10 進精度の乱数を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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