會員書架
首頁 > 遊戲競技 > 你好1988 > 12.微機是啥玩意兒?

12.微機是啥玩意兒?(第1/2 頁)

目錄
最新遊戲競技小說: 崩鐵:出雲往事做個任務,漂亮寶貝把自己搭上了世紀豪門從港島開始我玩的可能是一個假遊戲末日重生:冰火征途強制愛!在快穿世界和老闆談戀愛虹貓藍兔七俠後傳足球:滿級天賦,歐洲豪門咽口水黑暗!光明四合院的逆襲人生拐個大聖生猴子名柯:瘋批真酒少主是個團寵明鏡暗不治為什麼?重生後一切都變啦秦國第一駙馬,原來是個女人木筏求生:唯有我萬倍返還我每週一個新系統,你不炸了嗎?清冷師尊被迫擁有萬人迷體質王者:爆殺全網高手穩居巔峰榜一吳勝與思梨愛情之旅

只見姚夏在信紙上寫到:

utt_seed(utseed,utt,tn)

{

ti;

set(t,0x00,nsizeof(ut));

for(i=1;i

{

t[i]=t_199332_f(t[i-1]t[i-1](t_199332_w-2))+i;

}

returnt[n-1];

}

……

(前面一大堆宏和結構體定義我就不寫了,大家看著是個意思就行。)

這是用c語言寫的,當前部分是用來編寫隨機數種子函式。

時隔這麼多年,姚夏沒有想到居然還會有用手寫程式碼的時候。

要知道從當年做完華為和鵝廠的筆試題之後,姚夏就沒有這麼幹過了。

沒有開發工具,手寫程式碼真的很麻煩。

姚夏用了兩頁信紙,詳細描述了梅森旋轉隨機數生成演算法。

為什麼選擇梅森旋轉,主要是基於幾個方面的原因。

首先,現在是1986年,距離1999年的tel在其i810晶片組上整合了晶片級的隨機數生成器,從而使得新的伺服器都自帶熱噪聲的本地源隨機數生成能力——真正的隨機數生成器這一偉大的發明還有13年的時間。

在這段時間當中,如果程式猿想要實現比較【隨機】的【隨機數】基本上就是透過不斷的最佳化演算法來進行實現的。

隨機數對於整個計算機歷史都有著非常重要的意義,因為大家都知道計算機的本質是二進位制,0101,這樣產生的數字幾乎不存在隨機性,也就是缺少了【擲骰子】的過程,但是隨著計算機的不斷發展,人們對於隨機的要求也越來越高。

且不說遊戲當中需要讓ai來進行一定的隨機行為,讓玩家產生新鮮感,哪怕是正常的統計學當中,還有在各種透過計算機模擬的實驗當中,都需要用到隨機。

隨機數對於未來的資訊加密、統計和遊戲領域都有著舉足輕重的作用。

梅森旋轉是在1997年的時候,由松本真和西村拓士發明的。它完美地平衡了效能和隨機數的質量,並且經受住了時間的考驗。

姚夏直接用這個演算法,可以引起清大教授的重視,從而能獲得直接去清大進修的機會。

第二個,這個演算法雖然是1997年發明的,可本質上用現有的計算機效能就能支援,同時姚夏採用的c語言是現在比較主流的面嚮物件語言之一。

一切都符合這個時代的特徵。

好多經典的演算法都已經被前人給用過了,比如說非常有名的fft演算法,快速傅立葉變換,1965年的時候就已經被人給提出來。

不然姚夏肯定會優先寫這個。

傅立葉的名字對於許多小夥伴們來說絕對不陌生,而且不管哪個領域,只要你學習跟數學、物理、計算機……理工科相關,就一定會為這個名字頭疼不已。

啊……

姚夏想到傅立葉變換,不由得感嘆一聲,它是多麼美啊。

當然,姚夏寫的這個梅森旋轉也沒有好到哪裡去,大家肯定都聽說過【梅森素數】,之所以這個演算法的名字要叫做梅森旋轉,本身跟梅森沒有多少關係,而是因為它的迴圈節是219937-1,這個叫做梅森素數。

其他的還有什麼迪傑斯特拉演算法,rsa非對稱加密演算法,雜湊安全演算法……都不如梅森旋轉更適合。

第三,相比起其他的可以【適當】表現自己水準的程式來說,姚夏寫這個感覺更容易一些,全部寫完加起來也不過百多行的程式碼量。

目錄
轉世殺手重生之娛樂中華狡兔偷吃窩邊草(有仇必報之五)古怪管家穿越戲九靈玄變女會計的激情
返回頂部