隨機數是什麼,什麼是隨機數?

2021-03-28 01:56:03 字數 5433 閱讀 8063

1樓:蓓兒悅月子中心

隨機數是專門的隨機試驗的結果。

產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。

2樓:卜卜七月

就是隨意的一個數,還有就是範圍,比如1到9之間的隨機數,3就是這個範圍的隨機數,123456789隨機抽取一個,這就叫隨機數

3樓:上海瀾爾電子

例:一臺電腦,正在0~100之間迴圈讀數,每秒鐘讀數65536個,給你一個按鈕,你按下按鈕停止後,所得到的數就是隨機數。

隨機數:不確定的數。可以是負無窮到正無窮之間的任何數。

4樓:匿名使用者

簡單的說就跟彩票一樣,隨機的數字,沒有任何規律

5樓:匿名使用者

rnd函式

隨機產生[0,1)範圍內的任意實數

什麼是隨機數?

6樓:笑談詞窮

隨機數是來專門的隨機試驗的源結果。bai

隨機數最重要du的特性是:它所生成的zhi後面的那個數與前dao面的那個數毫無關係。

首先需要宣告的是,計算機不能生成絕對隨機的隨機數(「真隨機數」),只能生成「偽隨機數」。

其實絕對隨機的隨機數只是一種理想的隨機數,即使計算機怎樣發展,它也不會生成一串絕對隨機的隨機數。

計算機只能生成相對的隨機數,即偽隨機數。

未來的量子計算機有可能生成基於自然規律的不可重現的「真隨機數」。

7樓:匿名使用者

隨機數就是計算機隨復機產生的數制字序列。偽隨機數序列看上去是隨機的,但是反覆執行程式會發現每次程式所產生的序列是重複的。可以用srand來避免出現偽隨機數,他用unsigned型別的資料作引數並未函式rand設定隨機數種子。

c**:

#include

1.i=rand();//產生0到rand_max(32767)之間的整數

2.unsigned seed;

srand(seed);//設定種子

i=rand();

8樓:魚水h情深

隨機數是專門bai的隨機試驗du

的結果。在統計學zhi的不同技術中需要使用隨dao機數,比如在從專統計總體中抽取有代屬表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。 產生隨機數有多種不同的方法。

這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。

中文名:隨機數

外文名:random number

應用學科:統計學

應用:進行蒙特卡羅模擬法計算

方法:隨機數發生器

特性:後面的數與前面的數毫無關係

什麼是隨機數及隨機數種子,能不能詳細通俗介紹一下?

9樓:小肥肥啊

隨機數就是就隨機數種子中取出的數。種子就是個序號,這個序號交給一個數列管理器,通過這個序號,你從管理器中取出一個數列,這個數列就是你通過那個序號得到的隨機數。

但這個隨技術並不真正隨機。因為它是通過某個演算法的得到。也就是說你給數列管理器同一個序號將得到同樣一個「隨機」數列。

也就是說種子和隨機數列是一一對應的。=f(x), x 就是種子,f()是演算法,是數列,這個數列看上去是隨機的,這是因為an的通項很複雜。

例如:從1、2、3、4、5、6、7、8、9、0這十個數中隨機取出一個數,取出的數是6的話,那麼6就叫隨機數。十個數字就叫隨機數種子。

如果是從1到50之間取數字,取出的數字叫隨機數,這1到50那50個數字就叫隨機數種子。

10樓:匿名使用者

隨機數在科學研究與工程實際中有著極其重要的應用!

簡單來說,隨機數就是一個數列,這個數列可能滿足一定的概率分佈,也許其滿足的分佈並不為我們所知。

不知道你是否知道一個經典的例子:「使用一根針和兩條線求圓周率」(如果不知到你可以搜一下)。這個實驗我們可以使用數學模擬(蒙特卡羅模擬)的方法來進行,這樣可以最大限度的節約實驗所消耗的時間(使用計算機),也在一定程度上剔除了人為因素的影響。

但有一個前提必須考慮,就是模擬的隨機性要好。怎樣體現呢,這時就需要使用「好」的隨機數來替代我們的物理實驗。

據我所知,隨機數在科學**上有著非常重要的應用!還有密碼學中,隨機數也是基礎之一。

數學方法產生隨機數應該稱之為「偽隨機數」,只有使用物理方法才能得到真正的隨機數!

為了得到數學上的偽隨機數,我們就要研究「為隨機數發生器」!

通常,0-1區間上的均勻隨機數是基礎的基礎,因此,大量的工作是圍繞它的!在此基礎之上,又可以得到符合正態分佈,beta分佈等的偽隨機數。

「種子」是什麼呢?

經典的偽隨機數發生器是這樣的:

x(n+1)= a * x(n) + b

顯然通過上式我們能夠得到一個數列,前提是x(0)應該給出,依次我們就可以算出x(1),x(2)...;當然不同的x(0)就會得到不同的數列。

可以說:「x(0)」就是種子。

對於一個應用級的偽隨機數發生器,所有的「偽隨機數」,均勻的分佈於一個「軌道」上,幾乎所有的數都可以做為種子。數字「0」,有時是一個特例,不能作為種子,當然它取決於你使用的隨機數發生器!

呵呵,樓上說的言簡意賅,但那個函式並不複雜,你可以搜一下「素數模偽隨機數發生器」

x(n+1)= a * x(n),

只不過這個a的確定不是太簡單,要求隨機性好(期望0.5,標準差1/12);週期長!

當然還有更好的發生器,週期可達2^6***x - 1(具體的忘了)!

11樓:匿名使用者

我的理解啊,大家**:

種子就是個序號,這個序號交給一個數列管理器,通過這個序號,你從管理器中取出一個數列,這個數列就是你通過那個序號得到的隨機數。但這個隨技術並不真正隨機。因為它是通過某個演算法的得到。

也就是說你給數列管理器同一個序號將得到同樣一個「隨機」數列。

也就是說種子和隨機數列是一一對應的。=f(x), x 就是種子,f()是演算法,是數列,這個數列看上去是隨機的,這是因為an的通項很複雜。

真隨機數的定義是什麼

12樓:匿名使用者

從軟體的角度來說,如果是計算機起卦,則要用到隨

13樓:春風化雨時

隨機數是專門的隨機試驗的結果。

在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。

產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。

真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等。這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。

在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過一個固定的、可以重複的計算方法產生的。計算機或計算器產生的隨機數有很長的週期性。

它們不真正地隨機,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。

在真正關鍵性的應用中,比如在密碼學中,人們一般使用真正的隨機數。

14樓:

真隨機數一般都是相對於陣列而言,真隨機數就是沒有規律的數,你不能預見其下一個數值是多少,真隨機數是個詭異的東西,一個源於物理現象得到的真隨機陣列一經公開就不再是真隨機陣列了,因為得到陣列的人都可以知道下一個數是什麼。

以往大家有個共識,就是計算機不能產生真隨機數,其實這是對計算機認識不夠造成的,計算機有多種產生隨機數的方法,這裡僅舉一例:

最常用的c語言中有些函式的特點是每次呼叫它執行時間不一樣,也就是執行時間有一定的隨機性,利用此特性我們可以得到所需要的隨機數。這些函式有beep(0,0),setwindowtext(null),messagebeep(mb_iconquestion)等,其它語言的函式也有類似情況是肯定的。

我們只要連續呼叫此類函式,監測其執行時間,處理執行時間就可以達到目的。但函式的執行時間都是很短暫的,用一般測量時間的方法都太粗糙了,必須自己設計度量方法。每個計算機都有其工作頻率稱為主頻,與之相對應的是時鐘週期,做一個函式讀取計算機執行以來的時鐘週期,用函式執行時計算機所經歷的週期數來度量時間;測量一下當前的週期數,讓函式執行,再測量一下當前的週期數,兩個週期數的差值再減去一個本底值就代表了函式執行時間,如此做多個迴圈就可以大量採集執行時間了,處理執行時間陣列得到隨機陣列。

且看實驗資料:

beep(0,0)函式的執行時間115636,114283,114899,115030,114488,114350,114866,115132,114317,114757

放在字陣列裡則有  50100,48747,49363,49494,48952,48814,49330,49596,48781,49221

放在位元組陣列裡則有 180,107,211,86,56,174,178,188,141,69

顯然放到16位的字陣列裡效果不好,這是因為函式執行時間只比16位的最大值大0.7倍左右。但放到8位陣列裡效果不錯,而其它位數的資料由此組合即可。

通過生成大量資料的檢測還沒有發現週期現象,也就是從不重複的,陣列長度大時所有元素等概率出現隨機性良好,所以它們是真隨機數。

這裡展示了程式連續生成大隨機數:http://clip2***.***/s/1dphz

隨機數演算法是什麼?

15樓:匿名使用者

在密碼技術中,隨機序列是非常重要的,比如金鑰產生、數字簽名、身份認證和眾多的密碼學協議等都要用到隨機序列。所以產生高質量的隨機數序列對資訊的安全性具有十分重要的作用。隨機數分為真隨機數和偽隨機數,計算機通過演算法產生的隨機數並不上真正意義上的隨機數,很容易被破解,只能稱為偽隨機數。

若要產生真正的隨機數,必須通過硬體來實現,比如使用離子輻射事件的脈衝檢測器、氣體放電管和帶洩露的電容等,但是為每臺計算機配備這樣的裝置上不可能。所以在此我們通過改進我們的演算法,使生成的偽隨機數達到真隨機數的標準。

16樓:匿名使用者

隨機數演算法是指如何產生符合各種統計分佈的隨機數的演算法,計算機提供的演算法如random等產生的都是均勻分佈的數,要以這個分佈為基礎,產生各種其他分佈的演算法,如高斯分佈等

17樓:匿名使用者

sha256應該可以吧

電腦取隨機數是什麼原理,是真正的隨機數嗎

18樓:go蔡依林我愛你

是真正的隨機數。實現這

一功能的程式叫偽隨機數發生器。

不管用什麼方法實現隨機數發生器,都必須給它提供一個名為「種子」的初始值。而且這個值最好是隨機的,或者至少這個值是偽隨機的。「種子」的值通常是用快速計數暫存器或移位暫存器來生成的。

隨機數生成的原理和方法,電腦取隨機數是什麼原理,是真正的隨機數嗎

原理太高深,提供方法是 可以的1 在c 中可以的,函式是這樣用,比如0至1的隨機數random ran new random int randkey ran.next 0,1 不過這樣會有重複,可以給random一個系統時間做為引數,以此產生隨機數,就不會重複了 system.random a ne...

rand產生的是偽隨機數,什麼叫偽隨機數 還有rand和sr

stdlib.h標頭檔案中有巨集 define rand max 0x7fff rand 產生一個0到0x7ffff即0到32767之間的隨機數 rand rand max 1.0 就等於一個0到1之間的小數了,因為rand 最大是32767最小是0,再除以32768就是一個0到1之間的小數 不能等...

C關於隨機數抽取問題,C 怎麼獲取隨機數

public string randomnum int n int t rand.next 61 if temp 1 temp t temp t vnum vcarray t return vnum 返回生成的隨機數 c 怎麼取隨機數?使用random類中的next 方法。例如,生成一個100以內的...