首頁  >  文章  >  後端開發  >  如何在 C 中產生指定精度的隨機雙數?

如何在 C 中產生指定精度的隨機雙數?

Patricia Arquette
Patricia Arquette原創
2024-10-30 19:14:30561瀏覽

How to Generate Random Double Numbers with Specified Precision in C  ?

用C 語言產生指定精度的隨機雙精度數

產生指定範圍內的隨機雙精度數是程式設計中的常見需求。特別是,當您需要數字具有特定的精度時,例如“xxxxx,yyyyy”,此任務可能會變得更具挑戰性。幸運的是,C 提供了一個強大的函式庫來處理隨機數產生。

解決方案涉及使用 中的uniform_real_distribution 類別。圖書館。此分佈可以產生指定範圍內的隨機雙精度數。以下程式碼示範如何使用此類:

<code class="cpp">#include <random>

int main() {
   // Define the lower and upper bounds of the desired range
   double lower_bound = 0;
   double upper_bound = 10000;

   // Create a uniform real distribution within the specified range
   std::uniform_real_distribution<double> unif(lower_bound, upper_bound);

   // Initialize a random engine
   std::default_random_engine re;

   // Generate a random double using the distribution
   double a_random_double = unif(re);

   return 0;
}</code>

在此範例中,範圍定義在 0 到 10000 之間。 unif 分佈使用這些邊界進行初始化。為了產生隨機雙精度數,使用重新引擎將其輸入到分佈中。產生的 a_random_double 將是指定範圍內的隨機數。

有關 C 中隨機數生成的更多詳細信息,請參閱 John D. Cook 的“使用 C TR1 的隨機數生成”或 Stroustrup 的“隨機數生成”。 “

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

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