陈劲贤

陈劲贤的博客

他的个人主页  他的博客

C++产生随机数的方法

陈劲贤  2009年09月16日 星期三 20:05 | 1152次浏览 | 4条评论

c++产生随机数的函数是rand(),它没有参数,返回o至RAND_MAX之间的随机整数(其实是伪随机)。RAND_MAX是系统定义的一个宏(?),我在VS2005上测试的结果显示RAND_MAX应该是一个五位数。如果要自定义一个随机数,可以用参数指定随机数的范围,可以这样定义:

 

double random(double start,double end)

{

return start+(end-start)*rand()/(RAND_MAX+1.0);

}

解释:由于rand()函数返回0~RAND_MAX之间的值,则它是一个小于RAND_MAX+1.0的值,那么它除以RAND_MAX,就是一个0~1之间的数了。注意一定要加1.0,不能加1,加1则分子分母都是int型整数,结果是0;加1.0才会以double类型保存。

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
王单单

回复 王单单  2009年09月17日 星期四 21:53

晕,刚学c语言啊

1条回复

  • 陈劲贤

    回复 陈劲贤  2009年09月18日 星期五 01:22

    不是的,现在要找工作了,就把基础知识都复习下,想把容易忘掉的、零碎的知识都写下来,认真的管理下自己的知识。但是后来想想把这些写到这个牛人成群的地方一定会惹来鄙视,所以写了第一篇之后就决定还是转到csdn去了,在那里基本就我自己会看到自己写的东西,呵呵,这不是没第二篇了么

    0条回复

電波系山寨文化科学家

回复 電波系山寨文化科学家  2009年09月16日 星期三 20:18

en...
lack a cast...

1条回复

  • 陈劲贤

    回复 陈劲贤  2009年09月16日 星期三 20:30

    嗯,是啊,粗心了,呵呵。返回类型和参数我都用double好了

    0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号