c++ 随机数

180it 2020-10-08 PM 1334℃ 0条

C/C++要产生随机数的方法一般是采用rand()函数核srand()函数来实现的。

rand()函数返回的是一个伪随机数,这个函数内部采用线性同余法来实现伪随机数,而这个伪随机数是在一定范围内可以看作是随机的。rand()函数返回的随机数的范围在0~RAND_MAX之间,这个RAND_MAX的定义在头文件<stdlib.h>中:

define RAND_MAX 0x7fff

使用的时候可以对某个数取余以产生某个数范围内的随机数:

//产生100内的随机数
int num = rand() % 1024;
但是这样的话每次程序运行的随机数都是一样的,因此就需要用到srand()函数来设置随机种子:

srand((int)time(0));
int num = rand() % 1024;
这样设置之后每次程序运行得到的随机数就不一定是一样的。

要注意,这个方法得到的随机数是随机整数来的,要想获取随机浮点数,可以这样做:

srand((int)time(0));
double num = rand() / double(RAND_MAX);
这样得到的是一个0-1的浮点数。

#include <iostream>
#include <time.h>

#define RAND_MAX 0x7fff
int main() {

    //产生100内的随机数
    srand((int)time(0));


    for( ;; )
    {
        int num = rand() % 1024;
        std::cout << num << std::endl;
    }

    return 0;
}

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

c++ 随机数