C++ 函数进阶:随机数、布尔函数与参数传递
1. 随机数
随机数在很多领域都有重要应用,不仅是游戏,还包括模拟和科学计算。但计算机是有序的机器,无法真正生成随机数。
1.1 随机数生成器的实现
我们可以创建一个看起来随机的数字序列,但实际上如果知道计算机的算法,这些数字是完全可预测的。下面是一个简单的随机数生成器示例:
int rand () //Return a pseudo-random integer
{
static unsigned int seed = 76;
static const unsigned int INCREMENT = 51138;
static const unsigned int MULTIPLIER= 21503;
static const unsigned int MODULUS = 32767;
seed += INCREMENT;
seed *= MULTIPLIER;
seed %= MODULUS;
return seed;
}
这里的 static 关键字表示这些变量只会在函数第一次调用时创建,并且在程序运行期间一直存在。通常,函数的局部变量每次调用函数时都会重新创建,但我们希望 seed 能够被记住,以便每次调用函数时根据之前的结果得到不同的答案。我们也将常量设为 static ,这样每次调用函数时就不需要重新初始化它们。 </
超级会员免费看
订阅专栏 解锁全文
1146

被折叠的 条评论
为什么被折叠?



