可能重复:
C++ | Generating a truly random number between 10-20
How to generate random number within range (-x,x)
所以我使用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范围内的负范围或范围之间的任何位置;
答案 0 :(得分:2)
当您需要一个负数作为限制时,只需将整个选项向下移动......
前:
* you need a random between -10 and +10:
* generate a random from 0 to 20 the do -10.
让你实施..