基于单片机的批量乱序随机数的生成方法技术

技术编号:9794386 阅读:161 留言:0更新日期:2014-03-21 18:23
本发明专利技术提供一种基于单片机的批量乱序随机数的生成方法,包括步骤:建立随机、不重复且长度为256字节的一乱序数据表,在所述乱序数据表中相邻的数据不连续,同一张所述乱序数据表中无重复的数据,所述数据为乱序;根据要生成的随机数的长度,确定要产生的所述乱序数据表的个数;通过单片机的随机存取存储器数据取得若干数据种子;批量生成所述随机数时,采取一预定算法使每个字节数据都发生变化。本发明专利技术提出的随机数生成方式,随机性强,生成批量随机数,相邻数据乱序,不容易因相似而混淆。另外,批量随机数不会出现重复,是批量生成乱序随机ID的理想方法。

【技术实现步骤摘要】

本专利技术涉及单片机
,具体来说,本专利技术涉及一种。
技术介绍
现有单片机生成随机数的方法,容易出现重复,随机性差,需要触发源。并且在批量生成的时候,数据会出现连续或者易重复等缺点。
技术实现思路
本专利技术所要解决的技术问题是提供一种,在批量生成随机数时,具有乱序、不重复、无需触发等特点。为解决上述技术问题,本专利技术提供一种,包括步骤:A.建立随机、不重复且长度为一定字节的一乱序数据表,在所述乱序数据表中相邻的数据不连续,同一张所述乱序数据表中无重复的数据,所述数据为乱序;B.根据要生成的随机数的长度,确定要产生的所述乱序数据表的个数;C.通过单片机的随机存取存储器数据取得若干数据种子;D.批量生成所述随机数时,采取一预定算法使每个字节数据都发生变化。可选地,在上述步骤B中,要产生的所述乱序数据表的个数与要生成的所述随机数的长度是对应一致的。可选地,在上述步骤C中,所述数据种子是采用对多个随机存取存储器数据求平均值的方式取得的。可选地,在上述步骤C中,为了增加数据的随机性,所述数据种子是随之增加的。可选地,在上述步骤A中,所述乱序数据表的长度为256字节。可选地,生成的所述随机数应用于各种ID卡或者电子卷标中,作为同批次乱序的ID号或者电子卷标号。与现有技术相比,本专利技术具有以下优点:本专利技术提出的随机数生成方式,随机性强,生成的随机数呈批量,相邻数据乱序,不容易因相似而混淆。另外,批量生成的随机数不会出现重复,是批量生成随机ID(身份标识码)的理想方法。另外,采用本专利技术的方式生成的随机数,可以作为一些无线设备的ID号使用,数据不会重复,并且完全不连续,相邻数据差异大,同批次产品数据干扰小,解码出错概率小,而且生成方式简单。总而言之,本专利技术的方法在批量生成随机数时,具有乱序、不重复、无需触发等特点,克服了现有技术中存在的缺陷,实现了本专利技术的目的。【附图说明】本专利技术的上述的以及其他的特征、性质和优势将通过下面结合附图和实施例的描述而变得更加明显,其中:图1为本专利技术一个实施例的的示意流程图。【具体实施方式】下面结合具体实施例和附图对本专利技术作进一步说明,在以下的描述中阐述了更多的细节以便于充分理解本专利技术,但是本专利技术显然能够以多种不同于此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下根据实际应用情况作类似推广、演绎,因此不应以此具体实施例的内容限制本专利技术的保护范围。图1为本专利技术一个实施例的的示意流程图。如图1所示,该批量乱序随机数的生成方法主要包括如下流程:执行步骤S101,建立随机、不重复且长度为一定字节(Bytes)(例如256字节)的一乱序数据表。生成的该乱序数据表有以下特点:a)在表中相邻的数据不连续;b)同一张表中无重复的数据;c)数据为乱序。执行步骤S102,根据要生成的随机数的长度,确定要产生的乱序数据表的个数。其中,要产生的乱序数据表的个数与要生成的随机数的长度可以是对应一致的。例如,要生成的随机数为2字节,则产生2个乱序数据表;要生成的随机数为3字节,则产生3个乱序数据表,以此类推。执行步骤S103,通过单片机的随机存取存储器(RAM)数据取得若干数据种子。为了增加数据的随机性,数据种子应该是随之增加的。其中,为了增大数据的随机性,数据种子可以是采用对多个随机存取存储器数据求平均值的方式(简称多值平均方式)取得的。执行步骤S104,批量生成随机数时,采取一预定算法保证每个字节数据都发生变化,而不仅仅是最高位或者最低位数据变化。以下为生成3个字节的批量乱序随机数方法示例:首先,生成三个乱序数据表:unsigned char Random_tableO[256]={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}unsigned char Random_tablel[256]={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,本文档来自技高网...

【技术保护点】
一种基于单片机的批量乱序随机数的生成方法,包括步骤:A.建立随机、不重复且长度为一定字节的一乱序数据表,在所述乱序数据表中相邻的数据不连续,同一张所述乱序数据表中无重复的数据,所述数据为乱序;B.根据要生成的随机数的长度,确定要产生的所述乱序数据表的个数;C.通过单片机的随机存取存储器数据取得若干数据种子;D.批量生成所述随机数时,采取一预定算法使每个字节数据都发生变化。

【技术特征摘要】
1.一种基于单片机的批量乱序随机数的生成方法,包括步骤:A.建立随机、不重复且长度为一定字节的一乱序数据表,在所述乱序数据表中相邻的数据不连续,同一张所述乱序数据表中无重复的数据,所述数据为乱序;B.根据要生成的随机数的长度,确定要产生的所述乱序数据表的个数;C.通过单片机的随机存取存储器数据取得若干数据种子;D.批量生成所述随机数时,采取一预定算法使每个字节数据都发生变化。2.根据权利要求1所述的批量乱序随机数的生成方法,其特征在于,在上述步骤B中,要产生的所述乱序数据表的个数与要生成的所述随机数的长度是对应一致的。3.根据...

【专利技术属性】
技术研发人员:汪正峰
申请(专利权)人:中颖电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1