您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在C++中,有两种主要的随机数生成库:<cstdlib>
和<random>
。这里将分别对它们进行详细介绍。
<cstdlib>
库<cstdlib>
库提供了一个简单的随机数生成器,通过rand()
函数生成一个[0, RAND_MAX]范围内的伪随机整数。RAND_MAX
是一个常量,表示生成的随机数的最大值。为了获得不同的随机数序列,需要使用srand()
函数设置随机数生成器的种子。
示例代码:
#include<iostream>
#include <cstdlib>
#include <ctime>
int main() {
// 使用当前时间作为随机数生成器的种子
std::srand(static_cast<unsigned int>(std::time(nullptr)));
// 生成一个0到99之间的随机数
int random_number = std::rand() % 100;
std::cout << "Random number: "<< random_number<< std::endl;
return 0;
}
2.
<random>
库提供了更高质量的随机数生成器,支持多种随机数分布和引擎。这个库包括以下组件:
std::mt19937
。std::uniform_int_distribution
和std::normal_distribution
。示例代码:
#include<iostream>
#include<random>
int main() {
// 创建一个基于Mersenne Twister算法的随机数引擎
std::random_device rd;
std::mt19937 gen(rd());
// 创建一个0到99之间的均匀分布
std::uniform_int_distribution<> dis(0, 99);
// 生成一个随机数
int random_number = dis(gen);
std::cout << "Random number: "<< random_number<< std::endl;
return 0;
}
总结:
<cstdlib>
库提供了一个简单的随机数生成器,适用于简单的随机数需求。
-库提供了更高质量的随机数生成器,支持多种分布和引擎,适用于复杂的随机数需求。在实际开发中,推荐使用
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。