random()函数的使用介绍
2011-03-17 14:38
369 查看
1、首先要让大家知道的是,random()在程序中调用是按时间来进行排序的,从你开始调用random()函数起程序就按照时间进行顺序的产生随机 数,每次应用程序开始,时间都会重置,故会出现每次开启应用程序,随机数虽然时随机的,但是顺序时固定的,大家应该先知道这个原理
2、如何让一个random()函数在每次开启程序时无顺序呢?小弟不才,结合OpenGL中的原理,进行了尝试。在你调用random()函数之前,首先写一个方法,该方法为:srandom(time(NULL));
该方法的意思就是让以后的随机数不再按时间进行排序,此后你如果再使用random()方法便不用担心它的顺序随机了。
例:
srandom(time(NULL));
for(int i = 0; i<10; i++){
NSLog(@”%d”,random());
}
试一下,看看其结果,是不是不再顺序随机了。
3、说到随机数,我还有些研究,随机数不仅用random(),还可以使用rand(),同样有srand(time(NULL));但是,在不使用 srand(time(NULL))之前,rand()的第一个随机值是16807,而random()的随机值第一个随机值是1804289383;这 就是说程序默认的随机数调用的是srand(1)或者srandom(1);你如果设置一下为srand(2),它第一个随机数便不再是16807,而是 33614,设为srand(3),则第一个随机数便是50421。这只是srand(..)的情况,如果是srandom(..),则无规律可谈。
2、如何让一个random()函数在每次开启程序时无顺序呢?小弟不才,结合OpenGL中的原理,进行了尝试。在你调用random()函数之前,首先写一个方法,该方法为:srandom(time(NULL));
该方法的意思就是让以后的随机数不再按时间进行排序,此后你如果再使用random()方法便不用担心它的顺序随机了。
例:
srandom(time(NULL));
for(int i = 0; i<10; i++){
NSLog(@”%d”,random());
}
试一下,看看其结果,是不是不再顺序随机了。
3、说到随机数,我还有些研究,随机数不仅用random(),还可以使用rand(),同样有srand(time(NULL));但是,在不使用 srand(time(NULL))之前,rand()的第一个随机值是16807,而random()的随机值第一个随机值是1804289383;这 就是说程序默认的随机数调用的是srand(1)或者srandom(1);你如果设置一下为srand(2),它第一个随机数便不再是16807,而是 33614,设为srand(3),则第一个随机数便是50421。这只是srand(..)的情况,如果是srandom(..),则无规律可谈。
相关文章推荐
- js中函数调用的两种常用方法使用介绍
- linux下定时器介绍2--timer_create等函数集的使用示例
- 使用js Math.random()函数生成指定范围的随机数字
- oracle中DBMS_RANDOM各函数使用
- Python使用os.listdir()函数来得目录内容的介绍
- javascript(js) join函数使用方法介绍
- PHP循环函数使用介绍之PHP基础入门教程
- 详细介绍C/C++时间函数使用方法
- js的匿名函数使用介绍
- 与Math.pow 相反的函数使用介绍
- (二十三)进程——获取进程id相关函数的介绍和使用
- PHP管理内存函数 memory_get_usage()使用介绍
- 摘要算法之MD5介绍及OpenSSL中MD5常用函数使用举例
- MediaPlayer中使用到的回调函数介绍
- 对称加密算法之RC4介绍及OpenSSL中RC4常用函数使用举例
- 使用js Math.random()函数生成n到m间的随机数字
- Oracle case函数使用介绍
- mmap函数的使用和介绍
- JavaScript Math.ceil() 函数使用介绍