千家信息网

C++11随机数库怎么使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"C++11随机数库怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++11随机数库怎么使用"吧!从前的随机数C++11之前,无论
千家信息网最后更新 2026年11月02日C++11随机数库怎么使用

本篇内容主要讲解"C++11随机数库怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++11随机数库怎么使用"吧!

从前的随机数

C++11之前,无论是C,还是C++都使用相同方式的来生成随机数,代码大致如下:

由于rand()产生的是伪随机数,所以需要为rand函数提供种子。种子不同产生的随机数序列也不同。通常的做法是调用srand(time(0)),由于time返回的是系统时间,每秒都会不同,所以产生的随机数相同几率就会变得很小。

这种方式有一个难点,就是不容易控制输出结果的范围。特别是希望不是均匀分布的时候就更难。

随机数库(Random Number Library)

C++11中提供了随机数库,包括随机数引擎类(random-number engines)和随机数分布类(random-number distribution)。二者一般配合使用。

随机数引擎

标准库提供了多重随机数引擎,这里以default_random_engine类为例进行说明。

到这里为止,和之前的方式没有什么本质区别,只是形式不同。别忙,接着往下看。

随机数分布类

C++11通过随机数分布类来控制随机数引擎生成的随机数的分布情况。

生成平均分布的整数

代码中使用uniform_int_distribution来控制随机数引擎生成0到10之间的整数。

生成平均分布的实数

代码中使用uniform_real_distribution来控制随机数引擎生成0到10之间的实数。

生成正态分布的实数

代码中使用normal_distribution<>来控制随机数引擎生成均值为2,标准差为0.25的正态分布数据。

生成概率可控的布尔值

代码中使用bernoulli_distribution来控制随机数引擎生成布尔值随机数,其中1的概率为0.3。

输出结果

到此,相信大家对"C++11随机数库怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

随机数 生成 引擎 控制 代码 不同 实数 方式 相同 之间 内容 布尔 整数 标准 概率 正态分布 种子 结果 学习 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 互联网巨头科技公司 南京欣网互联网科技 美国互联网黑科技 科技互联网公司logo 米客互联网科技 长亮科技互联网金融 阿里巴巴算科技企业还是互联网 互联网科技公司实习生 本届互联网博览会上的黑科技 洛阳共同富裕互联网科技有限公司 徐州市互联网科技有限公司 美国互联网科技实力 城市宝互联网科技有限公司 产业互联网科技服务公司 四川互联网展示科技馆设计 工业互联网科技成果转化 扫呗互联网科技有限公司 互联网科技平台产品运营 广西泛欧互联网科技有限公司 蓝思科技飞鸽互联网 百单互联网科技有限公司 互联网科技ppt模板 上海电发互联网科技有限公司 彤创互联网科技有限公司 洛阳共同富裕互联网科技有限公司 互联网在线教育科技创业 锡山区互联网智能科技产品供应 西安有哪些互联网高科技企业 银川新华互联网科技学校招聘
0