说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732
全网监测海量数据按需发布监测预警
实时把握舆情动态精准追溯信息源头
在实验或者是其他需要用到数字的时候,我们经常会需要用到随机数字,这时我们就需要借助一些神随机字生成器来达到我们的目的,可随机数字生成器有哪些呢?接下来我们就一起来好好的了解一下吧。
随机数字生成器——随机数字生成器的种类
伪随机数与伪随机数生成器
计算机是确定性的机器,因此它无法直接生成真正的随机数,而浑沌系统的随机数生成速度又比较慢,在许多情况下不适合作为快速的(伪)随机数库函数算法。快速的伪随机数生成算法中最著名的要数linear-congruentialmethod(线性同余法),也就是:
Xn+1=(aXn+b)%c
//%就是C/C++中的MOD(同余)运算符
这种方法可以从一个种子X0=seed开始,连续生成任意长的伪随机数序列Xn。它的运算过程极其简单,并且如果令c=2m,其中m为Xn的字长,则连MOD运算都直接省掉了——Xn+1≥2m时高位自动溢出而被截除。用这种办法生成的伪随机数序列,在给定范围和精度内确实满足均匀分布的要求,但是并非连续分布,因为计算机存放数据的精度不是无限!正是由于最小数据间隙的存在,该序列将会以一个相当长的周期循环。
混沌动力学系统产生的随机数
对于一般的科学研究来说,只要保证伪随机数的内在规律不与所研究的自然规律相似,并且在所需数据精度下呈现“准连续的均匀分布”即可,而对“由少量数据反推生成规律”这种反向工程的困难程度不作限制。有时甚至还需要一种简单清晰的生成规律,以便确认这种规律是否与所研究的自然规律相似。
但是,在数据加密的时候,往往对这种反向工程极为担心,因此需要设计一种难于被反推出的生成规律。由大质数组合出巨大合数的乘法对反向工程来说相当困难,但是它需要用特殊的、巨大的数据结构来存放数据和进行运算,因此不适合用于扩展成为快速产生伪随机数的算法。
硬件随机数生成器
正因为硬件随机数生成器产生的数字完全是随机的,即使是设计和使用它的人也无法找到这些真随机数的生成规律,所以用一个软件来精确的校正其分布变得相当困难,必须使用大量统计数据获得经验校正函数,而且还不能保持非常好的校正精度,这一点对加密应用来说问题不大,但是对于科学计算而言就会大大降低计算结果的精度。
Excel怎么随机生成数字
首先介绍一下如何用RAND()函数来生成随机数(同时返回多个值时是不重复的)。
在单元格中输入=RAND(),回车后单元格即返回了一个随机数字。
RAND()函数返回的随机数字的范围是大于0小于1。因此,也可以用它做基础来生成给定范围内的随机数字。
生成制定范围的随机数方法是这样的,假设给定数字范围最小是A,最大是B,公式是:
=A+RAND()*(B-A)。
举例来说,要生成大于60小于100的随机数字,因为(100-60)*RAND()返回结果是0到40之间,加上范围的下限60就返回了60到100之间的数字。
上面RAND()函数返回的0到1之间的随机小数,如果要生成随机整数的话就需要用RANDBETWEEN()函数了,该函数生成大于等于1小于等于100的随机整数。
这个函数的语法是这样的:=RANDBETWEEN(范围下限整数,范围上限整数),结果返回包含上下限在内的整数。注意:上限和下限也可以不是整数,并且可以是负数。
RAND()和RANDBETWEEN()是生成随机数的基础函数,也可以灵活变通。比如说要生成0.01至1之间包含两位小数的随机数,则可用下图的公式实现:
以上就是随机数据生成器有哪些的所有内容,大家可以根据自己的需求来选择不同的随机数据生成器,如果各位还想了解更多与之有关的信息,欢迎关注我们文军营销的官网。
推荐阅读
说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732