首页 > 编程语言 > 详细

C/C++随机数rand()和种子函数srand()

时间:2014-12-13 23:04:24      阅读:502      评论:0      收藏:0      [点我收藏+]

     在计算机编程中,常常要产生一个随机数。但是要让计算机产生一个随机数并不那么容易。计算机的执行,是以代码来进行的,所以并不可能像抽牌,扔骰子那样产生一个真正具有随机意义的数。只可能以一定的算法产生一个伪随机数,C/C++提供了一个函数,放在cstdlib中,叫做rand(),原型为:int rand(void);。

      显然,这个函数不接受任何参数,它的作用是:产生一个[0..RAND_MAX]之间的随机数。RAND_MAX也存放在cstdlib中,是一个宏常量:

   #define RAND_MAX Ox7FFF

      RAND_MAX最大是bubuko.com,布布扣,默认是bubuko.com,布布扣。但是总不可能每改一次范围,都将常量修改。所以一般都这样使用:

   rand()%max    //这个表达式会生成[0..max-1]之间的随机数

      这个函数并不可以凭空产生随机数,而是需要一个随机数种子。这个种子由同样存放在cstdlib中的srand函数提供,原型为:void srand(unsigned seed);。当你使用rand()但是没有提前产生一个种子时,默认情况下初始化种子值为1。

C/C++随机数rand()和种子函数srand()

原文:http://www.cnblogs.com/Darksun/p/4161886.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!