无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機產(chǎn)生隨機數(shù)的原理是什么? 計算機進行邏輯判斷的原理是什么?

2023-02-27 00:41 作者:我是2B恒  | 我要投稿

在計算機中并沒有一個真正的隨機數(shù)發(fā)生器,但是可以做到使產(chǎn)生的數(shù)字重復率很低,這樣看起來好象是真正的隨機數(shù),實現(xiàn)這一功能的程序叫偽隨機數(shù)發(fā)生器。
有關如何產(chǎn)生隨機數(shù)的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什么方法實現(xiàn)隨機數(shù)發(fā)生器,都必須給它提供一個名為“種子”的初始值。而且這個值最好是隨機的,或者至少這個值是偽隨機的。“種子”的值通常是用快速計數(shù)寄存器或移位寄存器來生成的。
下面講一講在C語言里所提供的隨機數(shù)發(fā)生器的用法。現(xiàn)在的C編譯器都提供了一個基于ANSI標準的偽隨機數(shù)發(fā)生器函數(shù),用來生成隨機數(shù)。它們就是rand()和srand()函數(shù)。這二個函數(shù)的工作過程如下:
1) 首先給srand()提供一個種子,它是一個unsigned int類型,其取值范圍從0~65535;
2) 然后調(diào)用rand(),它會根據(jù)提供給srand()的種子值返回一個隨機數(shù)(在0到32767之間)
3) 根據(jù)需要多次調(diào)用rand(),從而不間斷地得到新的隨機數(shù);
4) 無論什么時候,都可以給srand()提供一個新的種子,從而進一步“隨機化”rand()的輸出結(jié)果。

這個過程看起來很簡單,問題是如果你每次調(diào)用srand()時都提供相同的種子值,那么,你將會得到相同的隨機數(shù)序列,這時看到的現(xiàn)象是沒有隨機數(shù),而每一次的數(shù)都是一樣的了。例如,在以17為種子值調(diào)用srand()之后,在首次調(diào)用rand()時,得到隨機數(shù)94。在第二次和第三次調(diào)用rand()時將分別得到26602和30017,這些數(shù)看上去是很隨機的(盡管這只是一個很小的數(shù)據(jù)點集合),但是,在你再次以17為種子值調(diào)用srand()后,在對于rand()的前三次調(diào)用中,所得的返回值仍然是在對94,26602,30017,并且此后得到的返回值仍然是在對rand()的第一批調(diào)用中所得到的其余的返回值。因此只有再次給srand()提供一個隨機的種子值,才能再次得到一個隨機數(shù)。


計算機產(chǎn)生隨機數(shù)的原理是什么? 計算機進行邏輯判斷的原理是什么?的評論 (共 條)

分享到微博請遵守國家法律
老河口市| 克拉玛依市| 阿勒泰市| 綦江县| 新巴尔虎左旗| 海南省| 台前县| 沂南县| 泰安市| 昌乐县| 运城市| 中牟县| 新宁县| 怀来县| 怀安县| 晋江市| 淳化县| 九龙县| 乌海市| 平顺县| 兴义市| 从江县| 施秉县| 崇信县| 北碚区| 高雄县| 万荣县| 邯郸县| 东山县| 卓资县| 崇信县| 道真| 山阴县| 镇平县| 崇明县| 新余市| 中山市| 合山市| 莆田市| 册亨县| 吴川市|