所以,我使用模数和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都会得到一个小数,而不是整数,我认为模数只适用于整数。我在这里缺少什么信息?
你可以看到我对此感到困惑。总是感谢帮助:)
答案 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
范围内