C语言随机数及种子设置
(2020-10-06 00:25:58)分类: C和CUDA |
随机数在使用前通常需要设置种子,可以通过系统时间来实现
头文件需要包含和
time_t t;
srand((unsigned int) time(&t))
首先定义了一个time_t类型的变量,它实际上是长整型,time_t的作用是存储1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。通过time函数实现。
而time函数的详解如下:
函数原型: time_t time(time_t *timer)
参数说明: timer=NULL时得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),timer=时间数值时,用于设置日历时间,time_t是一个unsigned long类型。如果 timer不为空,则返回值也存储在变量 timer中。
函数功能: 得到当前日历时间或者设置日历时间
函数返回: 当前日历时间
因此time(&t)返回当前时间,并存储在t中。也就是采用系统时间作为种子。
之后便可以用rand()产生一个int型,0-0x7fff的随机数。
前一篇:指针变量所占的字节数
后一篇:&0xFF取得低8位