ใน C หรือ C++ เราไม่สามารถสร้าง Random Float โดยตรงได้ เราสามารถสร้าง Random Float โดยใช้เทคนิคบางอย่าง เราจะสร้างค่าจำนวนเต็มสุ่มสองค่า แล้วหารกันเพื่อได้ค่า Float แบบสุ่ม
บางครั้งอาจได้ผลลัพธ์เป็นจำนวนเต็ม ดังนั้นเพื่อลดความน่าจะเป็นของกรณีนั้น เราคูณผลลัพธ์ด้วยค่าคงที่จุดทศนิยมบางอย่าง เช่น 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