中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++11隨機數庫怎么使用

發布時間:2021-11-24 11:56:11 來源:億速云 閱讀:186 作者:iii 欄目:大數據

本篇內容主要講解“C++11隨機數庫怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++11隨機數庫怎么使用”吧!

從前的隨機數

C++11之前,無論是C,還是C++都使用相同方式的來生成隨機數,代碼大致如下:

C++11隨機數庫怎么使用

由于rand()產生的是偽隨機數,所以需要為rand函數提供種子。種子不同產生的隨機數序列也不同。通常的做法是調用srand(time(0)),由于time返回的是系統時間,每秒都會不同,所以產生的隨機數相同幾率就會變得很小。

這種方式有一個難點,就是不容易控制輸出結果的范圍。特別是希望不是均勻分布的時候就更難。

隨機數庫(Random Number Library)

C++11中提供了隨機數庫,包括隨機數引擎類(random-number engines)和隨機數分布類(random-number distribution)。二者一般配合使用。

隨機數引擎

標準庫提供了多重隨機數引擎,這里以default_random_engine類為例進行說明。

C++11隨機數庫怎么使用

到這里為止,和之前的方式沒有什么本質區別,只是形式不同。別忙,接著往下看。

隨機數分布類

C++11通過隨機數分布類來控制隨機數引擎生成的隨機數的分布情況。

生成平均分布的整數

C++11隨機數庫怎么使用

代碼中使用uniform_int_distribution<int>來控制隨機數引擎生成0到10之間的整數。

生成平均分布的實數

C++11隨機數庫怎么使用

代碼中使用uniform_real_distribution來控制隨機數引擎生成0到10之間的實數。

生成正態分布的實數

C++11隨機數庫怎么使用

代碼中使用normal_distribution<>來控制隨機數引擎生成均值為2,標準差為0.25的正態分布數據。

生成概率可控的布爾值

C++11隨機數庫怎么使用

代碼中使用bernoulli_distribution來控制隨機數引擎生成布爾值隨機數,其中1的概率為0.3。

輸出結果

C++11隨機數庫怎么使用

到此,相信大家對“C++11隨機數庫怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

新闻| 曲麻莱县| 高邑县| 蕲春县| 隆子县| 文水县| 宁乡县| 灵石县| 全州县| 恭城| 泰安市| 潞西市| 灌云县| 工布江达县| 孟州市| 惠水县| 二连浩特市| 三台县| 乐亭县| 寿阳县| 乌鲁木齐市| 射阳县| 广灵县| 霍州市| 吴忠市| 永平县| 正阳县| 乐安县| 临猗县| 汶川县| 新泰市| 临洮县| 恩施市| 台湾省| 卢氏县| 台东县| 临武县| 德昌县| 宁晋县| 高阳县| 临江市|