如何生成从0.5到1.0的随机数

kir*_*ran 7 c

如何生成从0.5到1.0的随机数.

Adr*_*ciu 15

你可以试试:

float RandomBetween(float smallNumber, float bigNumber)
{
    float diff = bigNumber - smallNumber;
    return (((float) rand() / RAND_MAX) * diff) + smallNumber;
}
Run Code Online (Sandbox Code Playgroud)


pax*_*blo 5

你应该可以使用类似的东西:

double x = ((double)rand()) / ((double)RAND_MAX) / 2.0 + 0.5;
Run Code Online (Sandbox Code Playgroud)

除法RAND_MAX给出一个从0到1的值,将该范围除以2到0到0.5,然后加0.5给出0.5到1.(包括在低端和在顶端独占).