上文寫了博途中生成偽隨機數(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ù)取余"

主程序

"線性同余"
關于A、B、M的取值,可以參考以下方法:


"雙整數(shù)取余"

運行情況
使用類似方法得到偽隨機數(shù)序列,可用于程序的模擬、調(diào)試。
完。
-
SMART
+關注
關注
3文章
233瀏覽量
46124 -
指令
+關注
關注
1文章
617瀏覽量
37234 -
程序
+關注
關注
117文章
3832瀏覽量
84563 -
模數(shù)
+關注
關注
0文章
40瀏覽量
13546 -
偽隨機數(shù)
+關注
關注
0文章
4瀏覽量
7278
發(fā)布評論請先 登錄
請問如何在MATLAB中生成一組在規(guī)定范圍符合指定分布的隨機數(shù)
什么是隨機數(shù)
學習筆記 | 基于FPGA的偽隨機數(shù)發(fā)生器(附代碼)
C語言中偽隨機數(shù)的產(chǎn)生及性能檢驗
C語言random函數(shù)偽隨機數(shù)產(chǎn)生
神經(jīng)網(wǎng)絡的偽隨機數(shù)生成方法
偽隨機數(shù)生成算法
如何在C語言中使用隨機數(shù)
MAX765x微處理器的偽隨機數(shù)生成例程
FPGA的偽隨機數(shù)發(fā)生器學習介紹
如何使用雪花算法生成真正的隨機數(shù)
如何在FPGA中實現(xiàn)隨機數(shù)發(fā)生器

如何在200 smart中生成偽隨機數(shù)
評論