Random 考虑兰德算子的计算

Random 考虑兰德算子的计算,random,modulus,Random,Modulus,所以,我用模和一个兰德作为我写的函数的一部分。现在,我明白: rand()%6+1在这种情况下给我一个介于1和6之间的随机数。但我也知道, rand()给我一个0-32767和srand之间的随机值更改序列 但是我想 %=无论a的剩余部分在a/b之后 。。。所以,如果你要打破rand()%6+1向上,它看起来像什么 为了我自己的利益,我需要理解这一点,因为我看的是rand()%6+1如下所示: 某个随机数/6=随机数的剩余数。然后加上一个 因此,我的问题有两个: 1-如何将rand()突然限制为

所以,我用模和一个兰德作为我写的函数的一部分。现在,我明白:

rand()%6+1在这种情况下给我一个介于1和6之间的随机数。但我也知道,

rand()
给我一个0-32767和
srand之间的随机值更改序列

但是我想

%
=无论
a
的剩余部分在
a/b
之后

。。。所以,如果你要打破
rand()%6+1向上,它看起来像什么

为了我自己的利益,我需要理解这一点,因为我看的是
rand()%6+1如下所示:

某个随机数/6=随机数的剩余数。然后加上一个

因此,我的问题有两个:

1-如何将
rand()
突然限制为1-5而不是0-32767的数字范围

2-这些数字中的任何一个(1-5)除以6都会得到一个分数,而不是一个整数,我认为模只适用于整数。我在这里遗漏了什么信息

正如你所看到的,我对此感到困惑。感谢您的帮助:)

rand()%6
提醒您除以6时生成的随机数

例如,如果
rand()
生成一个数字100,那么100%6的结果就是100除以6得到的提示,即4。因此,无论函数rand()生成的数字是多少,当完成%6时,输出将在0-5范围内(被6除时的提示)

“rand()如何突然被限制为1-5,而不是0-32767的数字范围?”


rand()没有被限制为“0-5”,它仍然输出0-32767之间的数字(或者不知道最大限制的数字)。但是当我们执行rand()%6时,输出将在0-5范围内

谢谢!我想我只是好奇如果随机数是1,结果会怎样。既然1/6=0.16,那么会发生什么呢?如果rand()生成1,那么1%6就是1。因为如果你把1除以6,你会得到0作为商,1作为提醒。