在C++和C++中如何用随机变量和随机函数生成随机数?

C语言和C++编程语言提供 rand() srand() 函数以创建随机数。在本教程中,我们将学习如何使用随机数生成函数 rand() srand() 他们的特点和特长。

null

随机数

随机数是连续的 总是有不同的数字。随机数对于安全性非常重要,可用于生成UUID、证书、密码等。为了生成随机数,我们通常需要一个基于硬件的源,用于生成随机信号,其中这些信号将用于生成随机数。有专门用来产生这些随机信号的硬件组件。

伪随机数

因为使用基于硬件的随机数发生器是昂贵的或不总是 可获得的 我们通常使用随机信号发生器。如果我们使用这种不完全随机数发生器,我们称之为伪随机数 发电机数量。例如,网络接口卡、声卡或类似硬件可以用作伪随机数发生器。

种子价值

因为创造随机性是一项非常困难的工作,我们可以提供 Seed 对于每个随机函数执行 创造随机性。种子值用于从应用程序的角度进行随机启动。每次我们都需要使用不同的种子值使其完美。我们通常使用时间、网络流量等功能,这些功能会定期变化。

最大兰特

在生成随机数时,我们需要设置一些开始和结束限制。起始限制为0,但可以使用 RAND_MAX 宏如下所示。

#define RAND_MAX 100

rand()函数

rand() 函数用于创建没有任何参数的随机数。这将在同一执行期间在每次运行中创建相同的序列。

#include  #include int main(void) {for(int i = 0; i<10; i++)    printf(" %d ", rand()); printf("");return 0; }
rand() Function
rand()函数

我们每次打电话都能看到 rand() 函数我们得到相同的随机数。

相关文章: 如何在PHP中随机排列数组

srand()函数

srand() 函数确实生成伪随机整数。  我们还将提供一个无符号整数形式的种子值。我们将使种子值成为 time(0) 每次执行应用程序时都会不同的函数。

#include  #include  #include int main(void) {    srand(time(0));   for(int i = 0; i<10; i++)       printf(" %d ", rand());    printf("");      return 0; }
srand() Function
srand()函数

我们可以看到,每次调用随机函数,我们都会得到一个完全随机的值。

rand()函数vs srand()函数

rand() srand() 功能非常相似。 rand() 函数实际调用 srand(1) 会产生相同的随机数序列。

指定 不同的随机数范围

我们学会了 RAND_MAX 限制生成的随机数。但起始号码是 . 我们可以通过使用C和C++编程语言的MOD操作来具体定义一个开始和最大数。

#include  #include  #include int main(void) {    srand(time(0));   for(int i = 0; i<10; i++)       printf(" %d ", (rand()%100)-20);       printf("");   return 0; }
Specify Different Random Number Range Explicitly
指定 不同的随机数范围

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享