兰特操作员关注计算

时间:2013-02-18 03:48:11

标签: random modulus

所以,我使用模数和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都会得到一个小数,而不是整数,我认为模数只适用于整数。我在这里缺少什么信息?

你可以看到我对此感到困惑。总是感谢帮助:)

1 个答案:

答案 0 :(得分:0)

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

范围内