所以我使用 MT 来生成我的伪随机数,我希望能够将这些数字修改为一个数字范围内的值。
这些是我现在拥有的功能,前两个是int,后两个是float,但它们似乎不能正常工作。
static inline int randomi(int min, int max)
{
return Random() % (max-min)+min;
}
static inline unsigned long randomi(int max)
{
return Random() % max;
}
static inline float randomf(float min, float max)
{
return (Random() / ULONG_MAX) * (max-min)+min;
}
static inline float randomf(float max)
{
return (Random() / ULONG_MAX) * max;
}
我怎样才能使这些工作,以便它们可以返回可以介于两者之间的范围,包括负范围或 0 两侧的范围;