RAND 您所在的位置:网站首页 c语言rand是什么 RAND

RAND

2024-06-03 15:43| 来源: 网络整理| 查看: 265

rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数,一般为0x7fff;

rand()范围是[0,RAND_MAX] 如果说是 10rand(),则对应的范围应该为[0.0,10RAND_MAX]

一般来说,rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数。 即:

要取得[a,b)的随机整数,使用(rand() % (b-a))+ a (结果值含a不含b)。 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a (结果值含a和b)。 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1 (结果值不含a含b)。 例如对5取余求模,结果都是小于5的,但是如果对6取余求模,结果是小于等于5 在编程序时,单纯的使用rand是无法产生真正的随机数的,如果想每次运行程序时产生的随机数都不一样,可以使用srand来初始化种子

当计算机正常开机后,这个种子的值是定了的。 为得到不同的随机数序列,则需改变这个种子的值。方法:在开始产生随机数前,调用一次srand(time(NULL))。

srand()一定要放在循环外面或者是循环调用的外面,否则的话得到的是相同的随机数。 -----补充------ 生成浮点数随机数,a b为整数或浮点数 [0,1]—rand()*1.0/RAND_MAX

[a,b]—rand()1.0/RAND_MAX(b-a)+a

[a,b)—rand()1.0/(RAND_MAX+1)(b-a)+a

(a,b]—(rand()+1)1.0/(RAND_MAX+1)(b-a)+a

(a,b)—(rand()+1)1.0/(RAND_MAX+2)(b-a)+a



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有