上文寫了博途中生成偽隨機數(shù)的幾種辦法,現(xiàn)在試著使用其中簡單的線性同余法實現(xiàn)在200 smart中完成類似功能。
回顧下線性同余法的公式:RandNum =(A * RandNum + B)% M
A、B、M均為常數(shù),其中A是乘數(shù),B是增量,M是模數(shù),RandNum是初始值(種子)。
與博途不同的是,①:200 smart中沒有雙整數(shù)相除得余數(shù)的直接指令,需要我們自行實現(xiàn);②:200 smart讀取系統(tǒng)時間,最小計量單位只到秒,不能直接將其作為偽隨機數(shù)發(fā)生器的種子,而博途能精確到納秒,可以作為種子。
程序如下(只涉及基本運算,僅供參考):
在"線性同余"中調(diào)用"雙整數(shù)取余"
主程序
"線性同余"
關(guān)于A、B、M的取值,可以參考以下方法:
"雙整數(shù)取余"
運行情況
使用類似方法得到偽隨機數(shù)序列,可用于程序的模擬、調(diào)試。
完。
-
SMART
+關(guān)注
關(guān)注
3文章
228瀏覽量
45150 -
指令
+關(guān)注
關(guān)注
1文章
614瀏覽量
36134 -
程序
+關(guān)注
關(guān)注
117文章
3817瀏覽量
82179 -
模數(shù)
+關(guān)注
關(guān)注
0文章
40瀏覽量
13408 -
偽隨機數(shù)
+關(guān)注
關(guān)注
0文章
4瀏覽量
7197
發(fā)布評論請先 登錄
相關(guān)推薦
請問如何在MATLAB中生成一組在規(guī)定范圍符合指定分布的隨機數(shù)
什么是隨機數(shù)
學(xué)習(xí)筆記 | 基于FPGA的偽隨機數(shù)發(fā)生器(附代碼)
C語言中偽隨機數(shù)的產(chǎn)生及性能檢驗
C語言random函數(shù)偽隨機數(shù)產(chǎn)生
神經(jīng)網(wǎng)絡(luò)的偽隨機數(shù)生成方法
偽隨機數(shù)生成算法
如何在C語言中使用隨機數(shù)
如何使用隨機數(shù)生成器來生成私鑰

MAX765x微處理器的偽隨機數(shù)生成例程

FPGA的偽隨機數(shù)發(fā)生器學(xué)習(xí)介紹
如何使用雪花算法生成真正的隨機數(shù)
如何在FPGA中實現(xiàn)隨機數(shù)發(fā)生器

評論