因此,我使用模数和rand作为我正在编写的函数的一部分。现在,我明白了:与rand运算符有关的计算
rand() % 6 + 1;
在这种情况下给我一个介于一到六之间的随机数。不过,我也知道,
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.因为1/6 = 0.16那么会发生什么呢? – Jason 2013-02-18 06:28:46
如果rand()产生1,那么1%6是1.因为如果你用1除6,你将得到0作为商和1作为提醒。 – 2013-02-18 06:48:27