C 基礎之隨機數(解密真相,隨機真的隨機?)

2021-06-25 23:15:24 字數 638 閱讀 5227

隨機數裡有真假隨機數兩種

偽隨機數:

rand();返回乙個0到上萬或者更大的整數(最大是多少,一直沒有查到)

不需要標頭檔案

int a = rand()%5;//執行一次得到乙個5以內的數

每次執行得到這個數都是一樣的,所以說他是偽隨機數

真隨機數:

有乙個叫種子的東西,srand(n),n填乙個整數(浮點數也行,不過5.2和5效果沒區別),填的每乙個整數,代表著乙個數字序列

什麼叫數字序列呢,就是一串固定的數字

例如我填5,5的數字序列就是20605、15891、11459……是固定不變的,不管執行多少次,在看乙個2的序列,這樣寫的話,還是乙個偽隨機數

如果我加入標頭檔案time.h

種子寫為srand(time(0))代表著獲取系統時間,電腦右下角的時間,每一秒後系統時間的改變,數字序列的改變得到的數字不同,這才得帶不同的數字,形成了真隨機數,即使是真隨機數,也是有規律可循

隨機數真的隨機嗎?

5號的時候我想從 上買雜誌,但12月的期刊還沒上架,一般1號就會上架的了,所以有點奇怪。於是用intel的cpu內建隨機數發生器產生的真隨機數起了乙個卦,當時看卦像月破,一般是縫值或者縫合應事。那麼應該巳日 8號 能上架,覺得申日 11號 的可能性太小。結果到了今天,也就是申日申時上架了。講這個事情...

c 基礎之隨機數生成

今天的學習筆記 1.基本的隨機數生成函式srand 引數 引數表示的是生成種子,如果種子不變的話,隨機序列也不會變,常用srand time null 即系統時間來生成種子,由於時間一直在變,所以生成的種子也在變。使用時間要 include 2.生成互不相同的隨機數 這裡插入容器的使用,引用自 1....

C 之使用隨機數

1.c 自帶隨機數函式 using system system.random ran new system.random int n ran.next 100,1000 產生100到999之間的隨機整數 debug.log n 2.unity自帶隨機數函式 using unityengine flo...