「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C++ で 10 進精度の乱数を生成するにはどうすればよいですか?

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

2024 年 11 月 10 日に公開
ブラウズ:193

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:ランダム エンジンを使用して、間隔内でランダムな double を生成する分布オブジェクトの Operator()。
#include 

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

    return 0;
}

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3