我想找到一個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