最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

計(jì)算機(jī)產(chǎn)生隨機(jī)數(shù)的原理是什么?是絕對(duì)的隨機(jī)嗎?

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

問:怎樣產(chǎn)生隨機(jī)數(shù)?

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

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

下面的例子用一種簡(jiǎn)單而有效的方法來產(chǎn)生一個(gè)相當(dāng)隨機(jī)的“種子”值----當(dāng)天的時(shí)間值:

計(jì)算機(jī)產(chǎn)生隨機(jī)數(shù)的原理是什么?是絕對(duì)的隨機(jī)嗎?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
周宁县| 教育| 六盘水市| 平陆县| 岑溪市| 区。| 洛隆县| 宁海县| 嘉义县| 诏安县| 信丰县| 蛟河市| 正定县| 鄄城县| 彝良县| 新兴县| 宿松县| 久治县| 达日县| 八宿县| 三台县| 新余市| 江川县| 伽师县| 东乡族自治县| 益阳市| 喀喇沁旗| 永川市| 忻州市| 大足县| 乌鲁木齐市| 渭源县| 岱山县| 东城区| 双牌县| 岚皋县| 西青区| 民县| 台山市| 莱州市| 曲麻莱县|