首頁  >  文章  >  後端開發  >  如何在 C 中產生十進制精度的隨機數?

如何在 C 中產生十進制精度的隨機數?

Barbara Streisand
Barbara Streisand原創
2024-11-02 10:49:02587瀏覽

How to Generate Random Numbers with Decimal Precision in C  ?

在 C 中產生十進位精確度的隨機數

隨機數產生是各種程式設計應用程式中必備的工具。在 C 中,有多種方法可以產生隨機數,但產生特定格式的雙精度數最直接的方法是透過 std::uniform_real_distribution 類別。

要產生指定區間內的隨機雙精度數,我們可以使用以下步驟:

  1. 包含必要的標頭:包含;來源程式碼中的頭檔。
  2. 定義邊界:決定我們要產生隨機數的區間的下限和上限。
  3. 初始化隨機引擎: 實例化 std::default_random_engine 的實例以產生隨機值流。
  4. 建立均勻分佈: 建立一個具有指定邊界的std::uniform_real_distribution 物件:
  5. 產生隨機雙精確度數:使用隨機引擎分佈物件的operator(),在區間內產生一個隨機雙精度數。
<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>

此程式碼片段產生一個 0 到 10000 之間的十進制精度的隨機 double,滿足問題的要求。有關更多信息,請參閱 John D. Cook 的文章“使用 C TR1 生成隨機數”或 Stroustrup 的“隨機數生成”指南。

以上是如何在 C 中產生十進制精度的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn