国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于單片機的批量亂序隨機數(shù)的生成方法

      文檔序號:6522852閱讀:261來源:國知局
      基于單片機的批量亂序隨機數(shù)的生成方法【專利摘要】本發(fā)明提供一種基于單片機的批量亂序隨機數(shù)的生成方法,包括步驟:建立隨機、不重復(fù)且長度為256字節(jié)的一亂序數(shù)據(jù)表,在所述亂序數(shù)據(jù)表中相鄰的數(shù)據(jù)不連續(xù),同一張所述亂序數(shù)據(jù)表中無重復(fù)的數(shù)據(jù),所述數(shù)據(jù)為亂序;根據(jù)要生成的隨機數(shù)的長度,確定要產(chǎn)生的所述亂序數(shù)據(jù)表的個數(shù);通過單片機的隨機存取存儲器數(shù)據(jù)取得若干數(shù)據(jù)種子;批量生成所述隨機數(shù)時,采取一預(yù)定算法使每個字節(jié)數(shù)據(jù)都發(fā)生變化。本發(fā)明提出的隨機數(shù)生成方式,隨機性強,生成批量隨機數(shù),相鄰數(shù)據(jù)亂序,不容易因相似而混淆。另外,批量隨機數(shù)不會出現(xiàn)重復(fù),是批量生成亂序隨機ID的理想方法?!緦@f明】基于單片機的批量亂序隨機數(shù)的生成方法【
      技術(shù)領(lǐng)域
      】[0001]本發(fā)明涉及單片機【
      技術(shù)領(lǐng)域
      】,具體來說,本發(fā)明涉及一種基于單片機的批量亂序隨機數(shù)的生成方法?!?br>背景技術(shù)
      】[0002]現(xiàn)有單片機生成隨機數(shù)的方法,容易出現(xiàn)重復(fù),隨機性差,需要觸發(fā)源。并且在批量生成的時候,數(shù)據(jù)會出現(xiàn)連續(xù)或者易重復(fù)等缺點?!?br/>發(fā)明內(nèi)容】[0003]本發(fā)明所要解決的技術(shù)問題是提供一種基于單片機的批量亂序隨機數(shù)的生成方法,在批量生成隨機數(shù)時,具有亂序、不重復(fù)、無需觸發(fā)等特點。[0004]為解決上述技術(shù)問題,本發(fā)明提供一種基于單片機的批量亂序隨機數(shù)的生成方法,包括步驟:[0005]A.建立隨機、不重復(fù)且長度為一定字節(jié)的一亂序數(shù)據(jù)表,在所述亂序數(shù)據(jù)表中相鄰的數(shù)據(jù)不連續(xù),同一張所述亂序數(shù)據(jù)表中無重復(fù)的數(shù)據(jù),所述數(shù)據(jù)為亂序;[0006]B.根據(jù)要生成的隨機數(shù)的長度,確定要產(chǎn)生的所述亂序數(shù)據(jù)表的個數(shù);[0007]C.通過單片機的隨機存取存儲器數(shù)據(jù)取得若干數(shù)據(jù)種子;[0008]D.批量生成所述隨機數(shù)時,采取一預(yù)定算法使每個字節(jié)數(shù)據(jù)都發(fā)生變化。[0009]可選地,在上述步驟B中,要產(chǎn)生的所述亂序數(shù)據(jù)表的個數(shù)與要生成的所述隨機數(shù)的長度是對應(yīng)一致的。[0010]可選地,在上述步驟C中,所述數(shù)據(jù)種子是采用對多個隨機存取存儲器數(shù)據(jù)求平均值的方式取得的。[0011]可選地,在上述步驟C中,為了增加數(shù)據(jù)的隨機性,所述數(shù)據(jù)種子是隨之增加的。[0012]可選地,在上述步驟A中,所述亂序數(shù)據(jù)表的長度為256字節(jié)。[0013]可選地,生成的所述隨機數(shù)應(yīng)用于各種ID卡或者電子卷標中,作為同批次亂序的ID號或者電子卷標號。[0014]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:[0015]本發(fā)明提出的隨機數(shù)生成方式,隨機性強,生成的隨機數(shù)呈批量,相鄰數(shù)據(jù)亂序,不容易因相似而混淆。另外,批量生成的隨機數(shù)不會出現(xiàn)重復(fù),是批量生成隨機ID(身份標識碼)的理想方法。[0016]另外,采用本發(fā)明的方式生成的隨機數(shù),可以作為一些無線設(shè)備的ID號使用,數(shù)據(jù)不會重復(fù),并且完全不連續(xù),相鄰數(shù)據(jù)差異大,同批次產(chǎn)品數(shù)據(jù)干擾小,解碼出錯概率小,而且生成方式簡單。[0017]總而言之,本發(fā)明的方法在批量生成隨機數(shù)時,具有亂序、不重復(fù)、無需觸發(fā)等特點,克服了現(xiàn)有技術(shù)中存在的缺陷,實現(xiàn)了本發(fā)明的目的?!緦@綀D】【附圖說明】[0018]本發(fā)明的上述的以及其他的特征、性質(zhì)和優(yōu)勢將通過下面結(jié)合附圖和實施例的描述而變得更加明顯,其中:[0019]圖1為本發(fā)明一個實施例的基于單片機的批量亂序隨機數(shù)的生成方法的示意流程圖?!揪唧w實施方式】[0020]下面結(jié)合具體實施例和附圖對本發(fā)明作進一步說明,在以下的描述中闡述了更多的細節(jié)以便于充分理解本發(fā)明,但是本發(fā)明顯然能夠以多種不同于此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下根據(jù)實際應(yīng)用情況作類似推廣、演繹,因此不應(yīng)以此具體實施例的內(nèi)容限制本發(fā)明的保護范圍。[0021]圖1為本發(fā)明一個實施例的基于單片機的批量亂序隨機數(shù)的生成方法的示意流程圖。如圖1所示,該批量亂序隨機數(shù)的生成方法主要包括如下流程:[0022]執(zhí)行步驟S101,建立隨機、不重復(fù)且長度為一定字節(jié)(Bytes)(例如256字節(jié))的一亂序數(shù)據(jù)表。生成的該亂序數(shù)據(jù)表有以下特點:[0023]a)在表中相鄰的數(shù)據(jù)不連續(xù);b)同一張表中無重復(fù)的數(shù)據(jù);c)數(shù)據(jù)為亂序。[0024]執(zhí)行步驟S102,根據(jù)要生成的隨機數(shù)的長度,確定要產(chǎn)生的亂序數(shù)據(jù)表的個數(shù)。其中,要產(chǎn)生的亂序數(shù)據(jù)表的個數(shù)與要生成的隨機數(shù)的長度可以是對應(yīng)一致的。例如,要生成的隨機數(shù)為2字節(jié),則產(chǎn)生2個亂序數(shù)據(jù)表;要生成的隨機數(shù)為3字節(jié),則產(chǎn)生3個亂序數(shù)據(jù)表,以此類推。[0025]執(zhí)行步驟S103,通過單片機的隨機存取存儲器(RAM)數(shù)據(jù)取得若干數(shù)據(jù)種子。為了增加數(shù)據(jù)的隨機性,數(shù)據(jù)種子應(yīng)該是隨之增加的。[0026]其中,為了增大數(shù)據(jù)的隨機性,數(shù)據(jù)種子可以是采用對多個隨機存取存儲器數(shù)據(jù)求平均值的方式(簡稱多值平均方式)取得的。[0027]執(zhí)行步驟S104,批量生成隨機數(shù)時,采取一預(yù)定算法保證每個字節(jié)數(shù)據(jù)都發(fā)生變化,而不僅僅是最高位或者最低位數(shù)據(jù)變化。[0028]以下為生成3個字節(jié)的批量亂序隨機數(shù)方法示例:[0029]首先,生成三個亂序數(shù)據(jù)表:[0030]unsignedcharRandom_tableO[256]=[0031]{0,94,188,226,97,63,221,131,194,156,126,32,163,253,31,65,157,195,33,127,252,162,64,30,95,1,227,189,62,96,130,220,35,125,159,193,66,28,254,160,225,191,93,3,128,222,60,98,190,224,2,92,223,129,99,61,124,34,192,158,29,67,161,255,70,24,250,164,39,121,155,197,132,218,56,102,229,187,89,7,219,133,103,57,186,228,6,88,25,71,165,251,120,38,196,154,101,59,217,135,4,90,184,230,167,249,27,69,198,152,122,36,248,166,68,26,153,199,37,123,58,100,134,216,91,5,231,185,140,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,17,79,173,243,112,46,204,146,211,141,111,49,178,236,14,80,175,241,19,77,206,144,114,44,109,51,209,143,12,82,176,238,50,108,142,208,83,13,239,177,240,174,76,18,145,207,45,115,202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,87,9,235,181,54,104,138,212,149,203,41,119,244,170,72,22,233,183,85,11,136,214,52,106,43,117,151,201,74,20,246,168,116,42,200,150,21,75,169,247,182,232,10,84,215,137,107,53}[0032]unsignedcharRandom_tablel[256]=[0033]{93,254,160,225,191,192,158,29,67,161,255,233,183,85,11,136,202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,87,9,235,181,54,117,151,201,74,20,246,168,214,52,106,43,104,138,212,149,203,41,119,244,170,72,22,240,174,76,18,145,63,221,131,194,156,126,0,94,188,226,97,32,163,253,31,65,157,195,33,190,224,2,92,223,129,99,61,124,34,127,252,162,64,30,95,1,227,189,62,96,130,220,58,100,134,216,91,5,231,185,140,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,17,79,173,243,112,46,204,146,211,175,241,19,77,206,144,114,44,109,51,209,143,12,82,176,238,141,111,49,178,236,14,80,50,108,142,208,83,13,239,177,207,45,115,75,169,247,116,42,200,150,21,53,137,107,70,24,250,164,39,121,155,197,182,232,10,84,215,71,165,251,120,38,196,154,101,59,217,135,132,218,56,102,229,187,89,7,248,166,68,26,153,199,37,123,219,133,103,57,186,228,6,88,25,4,90,184,230,167,249,27,69,198,152,122,36,3,128,222,60,98,35,125,159,193,66,28}[0034]unsignedcharRandom_table2[256]=[0035]{54,214,52,106,43,179,42,200,150,21,53,117,151,201,74,20,41,132,218,56,102,229,187,89,119,244,170,72,22,240,174,76,18,145,165,251,120,38,196,154,101,59,217,135,63,221,131,194,208,144,114,44,109,51,209,143,12,87,9,235,181,83,13,239,177,207,45,115,75,169,247,7,248,166,68,26,153,199,37,123,246,168,137,107,70,24,250,164,39,121,155,197,60,98,35,125,159,193,66,14,80,50,108,142,79,173,243,112,220,58,100,134,156,126,0,94,188,226,97,32,163,253,31,65,216,91,5,140,157,195,33,190,224,2,92,223,116,231,185,129,82,176,238,141,111,49,178,236,99,61,124,34,127,252,162,210,48,110,46,182,81,15,78,16,242,189,62,96,130,147,205,17,104,172,47,113,19,77,206,64,30,204,146,211,175,241,237,95,1,227,6,88,232,10,84,215,71,25,4,191,192,158,29,67,161,57,186,228,255,233,183,85,11,136,90,184,230,138,212,149,203,152,122,36,3,128,222,167,249,27,86,180,234,202,148,118,40,171,245,105,55,103,69,198,28,213,139,23,73,8,93,254,160,225,219,133}[0036]然后,通過單片機的隨機存取存儲器RAM(多值平均方式)取得三個隨機數(shù)據(jù)種子,假設(shè)獲得的三個隨機數(shù)據(jù)種子為:[0037]random_seed0=27;[0038]random_seedl=69;[0039]random_seed2=1290[0040]最后,采用以下算法批量輸出隨機數(shù)據(jù):[0041]voidrandom_output()|longinti;unsignedcharrandom—num[3];for(i=0;i<0x1000000:1++){random_num[0]=i;//low8bitrandoin_nuin[1]=i?8;//iniddle8bitrandorn_nuin[2]=i?16;//high8bitrandoin_num[2]=Random_table2[(unsignedchar)(random_nuin[2]+random_nuin[0])]+random_seed2;random_num[1]=Random_tablel[(unsignedchar)(random_num[l]+random_num[0])]+random—seed1;random_nuin[0]=Random_table0[random_nuiTi[0]]+random_seed();printf("%c%c%c\n",random—num[2],random_num[1],randoni_nuin[()]);}}[0042]輸出的數(shù)據(jù)示例如下(以下為前50組數(shù)據(jù)):[0043]B7A21B[0044]574379[0045]B5E5D7[0046]EB26FD[0047]AC047C[0048]34055A[0049]ABE3F8[0050]49629E[0051]1788DD[0052]96E6B7[0053]B64499[0054]F62E3B[0055]18FCBE[0056]4A9A18[0057]CB503A[0058]95CD5C[0059]AAOFB8[0060]05D9DE[0061]5BBB3C[0062]B96D9A[0063]E7FO17[0064]663ABD[0065]3C5C5B[0066]DA8E39[0067]F84D7A[0068]759B1C[0069]2BF9FE[0070]C92FD8[0071]97AE59[0072]717C7B[0073]2F1A9D[0074]CDDOF7[0075]939C3E[0076]124E98[0077]2630BA[0078]7CFADC[0079]F97B5D[0080]A7BA37[0081]45DC19[0082]IBOEBB[0083]E68FFC[0084]BC59DA[0085]5A3B78[0086]08EDIE[0087]COIB9B[0088]5E79F9[0089]04AF57[0090]43707D[0091]51ADD9[0092]11CFFB[0093]通過以上示例數(shù)據(jù)可以看出,相鄰數(shù)據(jù)是不連續(xù)的數(shù),每3字節(jié)的數(shù)據(jù)都是不重復(fù)的。[0094]如果要輸出4字節(jié)或者5字節(jié)乃至更長長度的隨機數(shù)據(jù),可按照本發(fā)明的思路做相應(yīng)的擴展。[0095]本發(fā)明的應(yīng)用舉例:[0096]在各種ID卡或者電子卷標的應(yīng)用中,采取本發(fā)明的方法所生成的ID號,同批次的卡片ID號或者電子卷標號亂序、不連續(xù),并且不重碼,不容易出現(xiàn)號碼因相似而干擾的情況,也不會出現(xiàn)重碼情況。[0097]綜上所述,本發(fā)明提出的隨機數(shù)生成方式,隨機性強,生成的隨機數(shù)呈批量,相鄰數(shù)據(jù)亂序,不容易因相似而混淆。另外,批量生成的隨機數(shù)不會出現(xiàn)重復(fù),是批量生成隨機ID(身份標識碼)的理想方法。[0098]另外,采用本發(fā)明的方式生成的隨機數(shù),可以作為一些無線設(shè)備的ID號使用,數(shù)據(jù)不會重復(fù),并且完全不連續(xù),相鄰數(shù)據(jù)差異大,同批次產(chǎn)品數(shù)據(jù)干擾小,解碼出錯概率小,而且生成方式簡單。[0099]總而言之,本發(fā)明的方法在批量生成隨機數(shù)時,具有亂序、不重復(fù)、無需觸發(fā)等特點,克服了現(xiàn)有技術(shù)中存在的缺陷,實現(xiàn)了本發(fā)明的目的。[0100]本發(fā)明雖然以較佳實施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動和修改。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何修改、等同變化及修飾,均落入本發(fā)明權(quán)利要求所界定的保護范圍之內(nèi)。【權(quán)利要求】1.一種基于單片機的批量亂序隨機數(shù)的生成方法,包括步驟:A.建立隨機、不重復(fù)且長度為一定字節(jié)的一亂序數(shù)據(jù)表,在所述亂序數(shù)據(jù)表中相鄰的數(shù)據(jù)不連續(xù),同一張所述亂序數(shù)據(jù)表中無重復(fù)的數(shù)據(jù),所述數(shù)據(jù)為亂序;B.根據(jù)要生成的隨機數(shù)的長度,確定要產(chǎn)生的所述亂序數(shù)據(jù)表的個數(shù);C.通過單片機的隨機存取存儲器數(shù)據(jù)取得若干數(shù)據(jù)種子;D.批量生成所述隨機數(shù)時,采取一預(yù)定算法使每個字節(jié)數(shù)據(jù)都發(fā)生變化。2.根據(jù)權(quán)利要求1所述的批量亂序隨機數(shù)的生成方法,其特征在于,在上述步驟B中,要產(chǎn)生的所述亂序數(shù)據(jù)表的個數(shù)與要生成的所述隨機數(shù)的長度是對應(yīng)一致的。3.根據(jù)權(quán)利要求2所述的批量亂序隨機數(shù)的生成方法,其特征在于,在上述步驟C中,所述數(shù)據(jù)種子是采用對多個隨機存取存儲器數(shù)據(jù)求平均值的方式取得的。4.根據(jù)權(quán)利要求3所述的批量亂序隨機數(shù)的生成方法,其特征在于,在上述步驟C中,為了增加數(shù)據(jù)的隨機性,所述數(shù)據(jù)種子是隨之增加的。5.根據(jù)權(quán)利要求4所述的批量亂序隨機數(shù)的生成方法,其特征在于,在上述步驟A中,所述亂序數(shù)據(jù)表的長度為256字節(jié)。6.根據(jù)權(quán)利要求1至5中任一項所述的批量亂序隨機數(shù)的生成方法,其特征在于,生成的所述隨機數(shù)應(yīng)用于各種ID卡或者電子卷標中,作為同批次亂序的ID號或者電子卷標號?!疚臋n編號】G06F7/58GK103645882SQ201310659515【公開日】2014年3月19日申請日期:2013年12月9日優(yōu)先權(quán)日:2013年12月9日【發(fā)明者】汪正峰申請人:中穎電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1