IOS学习笔记54--关于 srand() 和rand()
来源:互联网 发布:中山广电网络客服电话 编辑:程序博客网 时间:2024/05/21 21:49
今天无意间看程序看到这么个东西: srand((int)time(0)),然后由于不太懂,就大概查资料,写代码试试了下,先总结如下:
先说说这个的意思 : srand((int)time(0))
srand(seed)用来将随机序列的起始点设为seedsrand((int)time(0))表示以当前时间对应的int值为随机序列起点,这样每次运行程序,由于起点不同才可以得到不同的随机数time函数给出从1970年1月1日00:00:00至今的秒数,它必须带一个参数,用来存储这个秒数,time()会导致语法错误,time(0)表示秒数不进行存储
PS:
这里说点额外话题: 1970.1.1 00:00:00点其实就是 ---->程序开发者是在197x年写的初稿,用于unix 的 C语言,所以设了这个零点。计算机和PC流行普及也是七十年代以后的事。
所以呢,不要很纠结为什么以这个时间点开始算。
/ int i,j;
//
// srand((int)time(0));
//
// for(i = 0; i < 10; i++)
//
// {
//
// j = 1+(int)(10.0*rand()/(RAND_MAX+1.0));
//
// printf(" %d ",j);
//
// }
srand((int)time(0)); //其实就是保证rand产生的随机数保证永远不相同
// srand(0);
NSLog(@"srand(0): (%d,%d,%d,%d)",rand(),rand(),rand(),rand());
// srand(1);
NSLog(@"srand(1): (%d,%d,%d,%d)",rand(),rand(),rand(),rand());
// srand(2);
NSLog(@"srand(2): (%d,%d,%d,%d)",rand(),rand(),rand(),rand());
看输出:
2013-09-14 11:15:16.977 SRARand[1365:c07] srand(0): (2129544341,1289278285,790137765,1954026954)
2013-09-14 11:15:16.978 SRARand[1365:c07] srand(1): (2011085954,1076508745,332751240,502673892)
2013-09-14 11:15:16.979 SRARand[1365:c07] srand(2): (239435546,1956350791,265625120,1890373374)
大概就这么个意思,还有其他见解的请留言讨论交流,其实现在正在苦逼的加班中。
- IOS学习笔记54--关于 srand() 和rand()
- C++学习笔记—srand()和rand()
- C++学习笔记——rand()和srand()
- [转] C++学习笔记—srand()和rand()
- c/c++ 随机函数rand()和srand()学习笔记
- 关于rand()和srand()(转)
- 关于rand()和srand()的理解
- 关于rand和srand函数使用2
- rand srand iOS 随机数
- srand和 rand函数.
- rand()和srand()函数
- rand()和srand()函数
- rand()和srand()函数
- srand()和rand()详解
- rand()和srand()函数
- rand和srand
- rand()和srand()
- srand()和rand()详解
- 我喜欢
- javascript 二维数组的使用
- memcpy和sprintf的区别
- linux select与poll的区别
- 简单的多线程聊天
- IOS学习笔记54--关于 srand() 和rand()
- 程序员从初级到中级10个秘诀
- RMAN参考使用手册(转)
- linux socket read与recv的区别
- Android 电源管理 -- wakelock机制
- 智能指针boost::shared_ptr
- TCP传输连接建立与释放详解
- Storm入门
- ffmpeg output_example.c 例程分析