如何在单片机上产生随机数

[复制链接]
6278|4
 楼主| hungrywolf 发表于 2008-5-28 10:54 | 显示全部楼层 |阅读模式
除了用伪随机函数rand(void)之外,能否利用单片机的一些内部模块产生一个真正的随机数,在每次开机首次调用时的值都不定。因为用rand的话,每次开机首次调用的值都是一样的!
wujiarui 发表于 2008-5-28 12:18 | 显示全部楼层

计算机本事是个确定性的系统,原理上就不可能产生真正的

但是,可以利用外界的随机性的因素:例如程序开始执行的时间、用户击键的时间或速度等。但这样也只是“提高”随机性,至于人的行为是否是“真随机”,这就需要综合N门学科的知识进行严格证明了。<br /><br />威盛的C7使用了一种技术,PadLock&nbsp;RNG&nbsp;实现了这一功能。PadLock&nbsp;RNG&nbsp;能在一定条件下依托电子的运动模式建构真正的随机性,而电子的运动模式具有高随机性。事实上,有专门一种物理学科来描述电子行为,即量子力学。因为根本没有办法来预测一个电子如何运动。在科学界,这被定义为不确定性原理。应用到安全领域,该原理意味着&nbsp;VIA&nbsp;PadLock&nbsp;安全引擎能高速生成具有高度随机性的数字。<br /><br />
bigpeon 发表于 2008-5-28 12:27 | 显示全部楼层

用时间做种子

用时间做种子如何
mcubug 发表于 2008-5-31 12:39 | 显示全部楼层

RE

4楼注意不错哦
zhbwgh 发表于 2008-5-31 19:13 | 显示全部楼层

请教

产生随机数?&nbsp;这什么情况下&nbsp;会要求开机不同,不太明白,希望各位解释下&nbsp;谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

114

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部