随机数的产生

时间:2025-09-28 09:27:54编辑:小松

电脑如何产生随机数?

电脑产生的随机数称为伪随机数,是通过算法模拟的,看上去和随机数一样,实际上能算出来的数就是可以预见的数(对用户来说不可预见,对电脑则是可预见),不是真正的随机数。从一个大数“种子”开始重复某种迭代计算,通常是加减乘除加求余,种子可以取系统时间,因为用户不可能精确到微秒控制程序运行,就基本保证了每次生成数值的顺序不同一般来说如果用数字电路产生的都是伪随机数,但由于循环时间太长可视为随机数。而现在有用模拟电路产生的随机数,主要原理是将热噪声放大,然后编码。扩展资料随机数的作用随机数的使用历史已经有数千年。无论是抛硬币还是摇色子,目的是让随机概率决定结果。电脑中的随机数生成器的目的也是如此——生成随机不可预测的结果。加密法要求数字不能被攻击者猜到,不能多次使用同样的数字。所以需要一种机制产生攻击者无法预测的数字,这些随机数对加密法至关重要,无论你是加密文件还是访问https协议网站,都需要用到随机数。根据随机数的生成原理,我们把电脑随机数分为两类:“真”随机数和伪随机数。要生成一个“真”随机数,电脑会检测电脑外部发生的某种物理现象。比如说,电脑可以测量某个原子的放射性衰变。根据量子理论,原子衰变是随机而不可测的,所以这就是宇宙中的“纯粹”随机性。攻击者永远无法预测原子衰变的发生时间,也就不可能猜出随机值。参考资料来源:百度百科——随机数

我很好奇,计算机真的能产生随机数吗

计算机理论上可以产生统计意义上的真随机数 。首先,「真随机」也有不同的含义, 真正的真随机目测只有量子力学了……一般的所谓真随机不是指这个,而是指 统计意义 上的随机,也就是具备不确定性,可以被安全的用于金融等领域,下面的真随机也均指这个。
大部分程序和语言中的随机数(比如 C 中的,MATLAB 中的),确实都只是 伪随机 。是由可确定的函数(比如线性同余),通过一个种子(比如时钟),产生的伪随机数。这意味着:如果知道了种子,或者已经产生的随机数,都可能获得接下来随机数序列的信息(可预测性)。
直观来想,计算机是一种可确定,可预测的的设备,想通过一行一行的确定的代码自身产生真随机,显然不可能。但是, 我们或许可以迂回一下 ,一个典型的例子就是 UNIX 内核中的随机数发生器(/dev/random),它在 理论上能产生真随机 。即这个随机数的生成,独立于生成函数,或者说这个产生器是非确定的。
实现方法:简单的讲就是软硬结合,或者说,引入系统外的变量(把软件,代码,算法想象成一个封闭的系统)。具体来讲,UNIX 维护了一个 熵池 ,不断收集非确定性的设备事件,即机器运行环境中产生的 硬件噪音 来作为种子。 比如说:IO请求的响应时间, 特定硬件中断的时间间隔, 键盘敲击速度,鼠标移动速度,甚至周围的电磁波等等……直观的说, 你每按一次键盘,动一下鼠标,邻居家 wifi 信号强度变化,磁盘写入速度,等等信号,都可能被用来生成随机数 。
程序和算法本身不能产生真随机,但是计算机系统作为整体可以迂回产生统计意义上的真随机 。


excel怎么在某一范围内生成随机数?

1、Excel中可以利用randbetween函数生成指定范围内的随机整数,如下图所示,在B1:B4中生成1到100内的随机数字,选择区域,输入公式如下:2、按下Ctrl+Enter结束输入,得到随机数字如下所示:3、按下F9,随机数字会刷新,如下图所示:4、如果要生成随机小数,可以考虑在Randbetween后面除以10的倍数,如下图所示生成10到100之间的包含两位小数的随机数字:5、得到结果如下图所示,F9可以刷新数字:扩展资料Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。Microsoft Excel是电子试算表程序(进行数字和预算运算的软件程序),与Microsoft Word一样,它在市场拥有统治份额。它最初对占优势的Lotus 1-2-3是个竞争者,但最后它卖得比它多、快,于是它成为了实际标准。它适宜Windows和Macintosh平台。它的主要竞争者是OpenOffice.org Calc、AppleNumbers和CorelQuattro Pro。参考资料来源:百度百科:Microsoft Office Excel

如何在excel中生成一个在一定范围内的随机数

1、首先在excel表格的单元格内输入随机函数公式:=RAND()。2、点击回车即可生成一个随机数字,该数据的大小范围无法控制,需要将其设置在一定范围内。3、例如需要将其设置为数字5到数字15之间,可以输入随机函数:=RAND()*(15-5)+5。4、点击回车,即可将输入的公式生成计算结果,在下图中可以看到生成的随机数据就在5到15之间了。

上一篇:餐桌上的大学

下一篇:没有了