在 C 語言中,rand() 函數是建立偽隨機數的可靠工具。透過將其與 RAND_MAX 結合並執行簡單的數學運算,您可以在指定的間隔內產生隨機浮點數。對於娛樂項目和教育目的,這種方法就足夠了。但是,如果您的要求需要真正具有常態分佈的隨機數,請考慮實施更複雜的技術。
要獲得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)));
請注意,以下頭檔包含是必要的:
以上是如何在 C 中產生隨機浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!