用C 語言產生指定精度的隨機雙精度數
產生指定範圍內的隨機雙精度數是程式設計中的常見需求。特別是,當您需要數字具有特定的精度時,例如“xxxxx,yyyyy”,此任務可能會變得更具挑戰性。幸運的是,C 提供了一個強大的函式庫來處理隨機數產生。
解決方案涉及使用
<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中文網其他相關文章!