ใน 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