rand()随机函数产生的值的范围?

rand随机函数产生的值的范围是多少?网上找到的一种答案是0-1000内的某个数。但是我怎么记得是0-1中的某个数呢?到底是多少呢?产生0-32之间的某个随机数的代码是否... rand 随机函数产生的值的范围是多少?
网上找到的一种答案是0-1000 内的某个数。
但是我怎么记得是0-1中的某个数呢?

到底是多少呢?
产生0-32之间的某个随机数的代码是否是:rand()%32+1
展开
 我来答
帐号已注销
2020-12-26 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

cplusplus中有这样的介绍:

rand函数产生一个0到RAND_MAX的伪随机数,这里的RAND_MAX因不同的实现而异,但RAND_MAX至少为32767。(比如,MSVC中通常为0x7fff,即32767,而Linux平台下GCC中RAND_MAX通常会远远大于这个值)

有一些其他编程语言的rand函数确实是产生一个[0.0, 1.0)之间的浮点数。比如MATLAB。

在C中,rand() % 32会产生一个[0, 32)之间的伪随机数,那么rand() % 32 + 1的取值区间实际上是[1, 33)。

要产生[0, 32)(开区间)之间伪随机数:rand() % 32即可。

扩展资料:

注意:如果要使用函数RAND()生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。

不过,这样只能一个一个的永久性更改,如果数字比较多,也可以全部选择之后,另外选择一个合适的位置粘贴,粘贴的方法是点击右键,选择“选择性粘贴”,然后选择“数值”,即可将之前复制的随机数公式产生的数值(而不是公式)复制下来。

参考资料来源:百度百科-随机函数

mayadong7349
推荐于2017-09-02 · TA获得超过2356个赞
知道大有可为答主
回答量:362
采纳率:0%
帮助的人:676万
展开全部
cplusplus中有这样的介绍:
rand函数产生一个0到RAND_MAX的伪随机数,这里的RAND_MAX因不同的实现而异,但RAND_MAX至少为32767。(比如,MSVC中通常为0x7fff,即32767,而Linux平台下GCC中RAND_MAX通常会远远大于这个值)

有一些其他编程语言的rand函数确实是产生一个[0.0, 1.0)之间的浮点数。比如MATLAB。

在C中,
rand() % 32会产生一个[0, 32)之间的伪随机数,那么rand() % 32 + 1的取值区间实际上是[1, 33)。

要产生[0, 32)(开区间)之间伪随机数:
rand() % 32即可;
要产生[0, 32](闭区间)之间伪随机数:
rand() % 33即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好嘞啊啊啊啊
推荐于2018-01-03 · TA获得超过2612个赞
知道大有可为答主
回答量:1860
采纳率:66%
帮助的人:1193万
展开全部
看返回值的类型
unsigned int
双字节是65535,
四字节是4294967295的整数范围。
rand()函数是一个有返回值的函数
rand()%32 是0-31

如果加一的话
就是1-32
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
htqwe22
2014-01-23 · TA获得超过224个赞
知道答主
回答量:32
采纳率:0%
帮助的人:29万
展开全部
看函数原型: int rand(void),可见其返回的是一个32位的数,准确的来说是无符号的
范围为 0~4G-1。要想取得某一范围的值用取余的方式再加一个基值即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-01-23 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6594万
展开全部
0~32767。
产生0-32之间的某个随机数的代码是rand()%33,不是rand()%32+1。rand()%32+1产生1~32之间的随机数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式