我想找到一个c函数,它可以产生一个32位随机/伪随机数,并且可以被复制。 (就像rand/srand函数一样)。我无法使用urandom,因为我无法像srand/rand那样重现序列。我是否必须编写自己的函数或者做这样的事情已经存在?随机发生器
谢谢
为了将来的参考,而别人的建议是好的。最后我做这样的事情:
uint32_t generateRandom (unsigned int randomSeed) {
uint32_t number = 0;
int randomNumber, x;
for (x=0; x<8;x++) {
randomNumber = rand_r(&randomSeed) % 16;
number |= (randomNumber<<(x*4));
randomSeed++;
}
return (number);
}
你为什么不使用rand/srand? – MByD 2012-04-16 21:04:21
您的哪些需求使用'rand' /'srand'排除? – 2012-04-16 21:04:29
我试图写入一些内存位置(试图打开和关闭某些位),因为我需要生成一个32位整数,rand/srand只接受一个unsigned long int ...这给了我一个非常小的数。 – Falcata 2012-04-16 21:06:54