首先需要明确一点的是,计算机系统中生成一个随机数,需要依赖一个随机量,这个随机量称为随机数种子。否则生成的就是伪随机数。随机数种子的值越多样化,生成的数就越随机。通常,随机数种子从计算机系统外部引入,例如人的操作、ADC采集到的值等。
C语言的标准库,提供了srand()和rand()两个函数用于产生随机数。下面的例程提供了生成一个指定范围的随机数的方法:
#include <stdlib.h>
uint32_t get_random(uint32_t random_seed, uint32_t min, uint32_t max)
{
uint32_t value;
srand(random_seed);
value = rand() % (max + 1 - min)+ min;
return value;
}