首頁 > 後端開發 > C++ > 如何在 C 中產生隨機浮點數?

如何在 C 中產生隨機浮點數?

Susan Sarandon
發布: 2024-12-25 09:25:17
原創
297 人瀏覽過

How Can I Generate Random Floating-Point Numbers in C  ?

在 C 語言中產生隨機浮點數

在 C 語言中,rand() 函數是建立偽隨機數的可靠工具。透過將其與 RAND_MAX 結合並執行簡單的數學運算,您可以在指定的間隔內產生隨機浮點數。對於娛樂項目和教育目的,這種方法就足夠了。但是,如果您的要求需要真正具有常態分佈的隨機數,請考慮實施更複雜的技術。

產生0.0 到1.0 之間的浮點

要獲得0.0 到1.0(含)之間的隨機浮點,使用以下公式:

float r = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
登入後複製

在任意範圍內產生浮點數範圍

要產生[0.0, X]範圍內的浮點數,請使用下列公式:

float r2 = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / X);
登入後複製

在自訂範圍內產生浮點數

要產生浮點數在[LO, HI]範圍內,利用下列公式:

float r3 = LO + static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / (HI - LO));
登入後複製

初始化隨機數產生器

在使用rand() 之前,透過調用srand() 初始化隨機數產生器至關重要。這種初始化應該在程式執行期間​​只發生一次,而不是在每次呼叫 rand() 時發生。常見的做法包括:

srand(static_cast<unsigned>(time(0)));
登入後複製

頭檔包含

請注意,以下頭檔包含是必要的:

  • 用於呼叫rand () 和srand()
  • ;用於調用time()

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板