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

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

Barbara Streisand
リリース: 2024-11-02 10:49:02
オリジナル
663 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート