上文寫了博途中生成偽隨機(jī)數(shù)的幾種辦法,現(xiàn)在試著使用其中簡(jiǎn)單的線性同余法實(shí)現(xiàn)在200 smart中完成類似功能。
回顧下線性同余法的公式:RandNum =(A * RandNum + B)% M
A、B、M均為常數(shù),其中A是乘數(shù),B是增量,M是模數(shù),RandNum是初始值(種子)。
與博途不同的是,①:200 smart中沒(méi)有雙整數(shù)相除得余數(shù)的直接指令,需要我們自行實(shí)現(xiàn);②:200 smart讀取系統(tǒng)時(shí)間,最小計(jì)量單位只到秒,不能直接將其作為偽隨機(jī)數(shù)發(fā)生器的種子,而博途能精確到納秒,可以作為種子。
程序如下(只涉及基本運(yùn)算,僅供參考):
在"線性同余"中調(diào)用"雙整數(shù)取余"
主程序
"線性同余"
關(guān)于A、B、M的取值,可以參考以下方法:
"雙整數(shù)取余"
運(yùn)行情況
使用類似方法得到偽隨機(jī)數(shù)序列,可用于程序的模擬、調(diào)試。
完。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
SMART
-
指令
-
程序
-
模數(shù)
-
偽隨機(jī)數(shù)
相關(guān)推薦
如何在MATLAB中生成一組在規(guī)定范圍符合指定分布的隨機(jī)數(shù)如何在MATLAB中生成一組在規(guī)定范圍符合指定分布的
發(fā)表于 03-17 11:40
做開發(fā)的工程師們應(yīng)該或多或少都接觸過(guò)隨機(jī)數(shù),可能認(rèn)為它就是一個(gè)隨機(jī)生成的數(shù)字嘛,使用時(shí)也很簡(jiǎn)單,只要調(diào)用開發(fā)語(yǔ)言提供的函數(shù)即可。但實(shí)際上隨機(jī)數(shù)后面還是有著比較復(fù)雜但也有趣的知識(shí)點(diǎn)的。根
發(fā)表于 07-22 09:42
是專門的隨機(jī)試驗(yàn)的結(jié)果,產(chǎn)生隨機(jī)數(shù)有多種不同的方法。這些方法被稱為隨機(jī)數(shù)生成器。隨機(jī)數(shù)最重要的特性是它在產(chǎn)生時(shí)后面的那個(gè)數(shù)與前面的那個(gè)數(shù)毫無(wú)
發(fā)表于 04-21 19:42
系統(tǒng)仿真或加密算法中常需要產(chǎn)生滿足一定分布函數(shù)的 偽隨機(jī)數(shù) ,高級(jí)程序設(shè)計(jì)語(yǔ)言中的庫(kù)函數(shù)采用線性同余法產(chǎn)生一個(gè)在[0,32767] 服從均勻分布的偽隨機(jī)數(shù),但每次程序運(yùn)行的結(jié)果都
發(fā)表于 07-07 16:35
?70次下載
由C語(yǔ)言的stalib.h庫(kù)里面的random函數(shù)可以得到一個(gè)0-0x7FFFh的隨機(jī)數(shù),當(dāng)然,調(diào)用隨機(jī)數(shù)函數(shù)之前,是要進(jìn)行種子的篩選的,以當(dāng)前的時(shí)間參數(shù)作為種子,可以使得偽隨機(jī)數(shù)至少
發(fā)表于 08-25 17:56
?1.3w次閱讀
C#教程之偽隨機(jī)數(shù)加密,很好的C#資料,快來(lái)學(xué)習(xí)吧。
發(fā)表于 04-21 09:52
?5次下載
為了克服有限精度效應(yīng)對(duì)混沌系統(tǒng)的退化影響,改善所生成隨機(jī)序列的統(tǒng)計(jì)性能,設(shè)計(jì)了一種新的基于六維CNN(細(xì)胞神經(jīng)網(wǎng)絡(luò))的64 bit偽隨機(jī)數(shù)生成
發(fā)表于 02-02 15:49
?0次下載
在計(jì)算機(jī)上用數(shù)學(xué)的方法產(chǎn)生隨機(jī)數(shù)列是目前通用的方法,它的特點(diǎn)是占用的內(nèi)存少,速度快.用數(shù)學(xué)方法產(chǎn)生的隨機(jī)數(shù)列是根據(jù)確定的算法推算出來(lái)的,嚴(yán)格說(shuō)來(lái)并不是隨機(jī)的,因此一般稱用數(shù)學(xué)方法產(chǎn)生的隨機(jī)數(shù)
發(fā)表于 04-03 10:25
?6次下載
通常情況下,使用最多的方法的就是使用rand函數(shù)隨機(jī)生成偽隨機(jī)數(shù)來(lái)完成隨機(jī)數(shù)的生成工作。注意這里
發(fā)表于 11-09 16:46
?5176次閱讀
,尤其重要。
說(shuō)到隨機(jī),有兩個(gè)必須要搞清楚的概念:“真隨機(jī)數(shù)生成器”(TRNG)和偽隨機(jī)數(shù)
發(fā)表于 03-18 10:40
?5077次閱讀
基于FPGA的偽隨機(jī)數(shù)發(fā)生器設(shè)計(jì)方案
發(fā)表于 06-28 14:36
?4次下載
擴(kuò)頻通信、安全、加密和調(diào)制解調(diào)器等應(yīng)用需要生成隨機(jī)數(shù)。實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器的最常見(jiàn)方法是線性反饋移位寄存器(LFSR)。LFSR生成的代碼實(shí)際上是“偽
發(fā)表于 03-01 15:28
?663次閱讀
的隨機(jī)試驗(yàn)的結(jié)果,產(chǎn)生隨機(jī)數(shù)有多種不同的方法。這些方法被稱為隨機(jī)數(shù)生成器。隨機(jī)數(shù)最重要的特性是它在產(chǎn)生時(shí)后面的那個(gè)數(shù)與前面的那個(gè)數(shù)毫無(wú)關(guān)系。
發(fā)表于 09-12 09:13
?1583次閱讀
以前用rand和srand生成過(guò)偽隨機(jī)數(shù),偽隨機(jī)數(shù)的序列是固定的,今天學(xué)習(xí)生成真正的
發(fā)表于 10-09 10:05
?1344次閱讀
分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
發(fā)表于 08-06 11:20
?674次閱讀
評(píng)論