如何在 C++ 中生成隨機浮點數?
在 C 或 C++ 中,我們無法直接建立隨機浮點數。我們可以使用一些技巧來建立隨機浮點數。我們將建立兩個隨機整數值,然後對其進行除法以獲得隨機浮點值。
有時它可能生成一個整數商,因此為了降低該機率,我們將結果乘以一些浮點常量,例如 0.5。
示例
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; main() { srand((unsigned int)time(NULL)); float a = 5.0; for (int i=0;i<20;i++) cout << (float(rand())/float((RAND_MAX)) * a) << endl; }
輸出
2.07648 4.3115 1.31092 2.22465 2.17292 1.48381 1.91137 0.56505 2.24326 4.44517 3.1695 2.39067 1.89062 4.35881 4.17524 0.189673 1.87521 1.76916 2.3217 2.20481
廣告