随机数算法是什么?
作者:佚名 来源:辰乐游戏 时间:2023-10-22 12:21:19
在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。有关如何产生随机数的理论有许多如果要详细地讨论,需要厚厚的一本书的篇幅。不管用什么方法实现随机数发生器,都必须给它提供一个名为“种子”的初始值。而且这个值最好是随机的,或者至少这个值是伪随机的。“种子”的值通常是用快速计数寄存器或移位寄存器来生成的。下面讲一讲在C语言里所提供的随机数发生器的用法。现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下:”)首先给srand()提供一个种子,它是一个unsignedint类型,其取值范围从0~65535;2)然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)3)根据需要多次调用rand(),从而不间断地得到新的随机数;4)无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。这个过程看起来很简单,问题是如果你每次调用srand()时都提供相同的种子值,那么,你将会得到相同的随机数序列,这时看到的现象是没有随机数,而每一次的数都是一样的了。例如,在以17为种子值调用srand()之后,在首次调用rand()时,得到随机数94。在第二次和第三次调用rand()时将分别得到26602和30017,这些数看上去是很随机的(尽管这只是一个很小的数据点集合),但是,在你再次以17为种子值调用srand()后,在对于rand()的前三次调用中,所得的返回值仍然是在对94,26602,30017,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此只有再次给srand()提供一个随机的种子值,才能再次得到一个随机数。下面的例子用一种简单而有效的方法来产生一个相当随机的“种子”值----当天的时间值:g#椋睿悖欤酰洌澹Γ欤簦唬螅簦洌椋铮瑁Γ纾簦弧。#椋睿悖欤酰洌澹Γ欤簦唬螅簦洌欤椋猓瑁Γ纾簦弧。#椋睿悖欤酰洌澹Γ欤簦唬螅螅Γ#矗罚唬簦穑澹螅瑁Γ纾簦弧。#椋睿悖欤酰洌澹Γ欤簦唬螅螅Γ#矗罚唬簦椋恚澹猓瑁Γ纾簦弧。觯铮椋洹。恚幔椋睿ǎ觯铮椋洌。。椋睿簟。椋弧。酰睿螅椋纾睿澹洹。椋睿簟。螅澹澹洌郑幔欤弧。螅簦颍酰悖簟。簦椋恚澹狻。簦椋恚澹拢酰妫弧。妫簦椋恚澹ǎΓ幔恚穑唬簦椋恚澹拢酰妫弧。螅澹澹洌郑幔欤剑ǎǎǎǎ酰睿螅椋纾睿澹洹。椋睿簦簦椋恚澹拢酰妫簦椋恚澹Γ幔恚穑唬埃疲疲疲疲。ǎ酰睿螅椋纾睿澹洹。椋睿簦簦椋恚澹拢酰妫恚椋欤欤椋簦恚蕖。ǎ酰睿螅椋纾睿澹洹。椋睿簦簦椋恚澹拢酰妫恚椋欤欤椋簦恚弧。螅颍幔睿洌ǎǎ酰睿螅椋纾睿澹洹。椋睿簦螅澹澹洌郑幔欤弧。妫铮颍ǎ椋剑埃唬椋Γ欤簦唬保埃唬椋。穑颍椋睿簦妫ǎΓ瘢酰铮簦唬ィ叮洌Γ#梗玻唬睿Γ瘢酰铮簦籦egjrand());}上面的程序先是调用_ftime()来检查当前时间yc并把它的值存入结构成员timeBuf.time中wae当前时间的值从1970年1月1日开始以秒计算aeh在调用了_ftime()之后在结构timeBuf的成员millitm中还存入了当前那一秒已经度过的毫秒数,但在DOS中这个数字实际上是以百分之一秒来计算的。然后,把毫秒数和秒数相加,再和毫秒数进行异或运算。当然也可以对这两个结构成员进行更多的计算,以控制se......余下全文>>
- 上一篇:求这个游戏
- 下一篇:今天的姚易大战如何?
相关阅读
热门文章
- 精品游戏
- 最热榜单
- 滚滚破坏球最新版下载_滚滚破坏球最新版下载安卓版下载_滚滚破坏球最新版下载最新官方版 V1.0.8.2下载
- 疯狂大派对游戏兑换码|疯狂大派对破解版下载v1.1.1
- 施工模拟器2020中文版下载|施工模拟器2020游戏下载v1.0
- 飞仙诀礼包激活码官网版_飞仙诀礼包激活码官网版攻略_飞仙诀礼包激活码官网版官网下载手机版
- Ball Pass 3D手游
- 逆风解说一女一舟航海寻宝记游戏
- 街机大亨发家史破解版_街机大亨发家史破解版官方正版_街机大亨发家史破解版下载
- 霆锋传奇app_霆锋传奇appapp下载_霆锋传奇appiOS游戏下载
- Sky光·遇 国际服 测试版app_Sky光·遇 国际服 测试版app安卓版下载
- 荒野生存app_荒野生存appapp下载_荒野生存app官网下载手机版
- 布雷迪熊app_布雷迪熊app安卓手机版免费下载_布雷迪熊app手机游戏下载
- 滚滚多米诺app_滚滚多米诺app下载_滚滚多米诺app安卓手机版免费下载
- 开瓶大作战app_开瓶大作战app官方正版_开瓶大作战app下载
- 三明治app_三明治app最新版下载_三明治app官网下载手机版
- 独自上学app_独自上学app电脑版下载_独自上学appios版
- 领主app_领主appapp下载_领主app小游戏
- 疑似侦探的人在破案app_疑似侦探的人在破案app攻略_疑似侦探的人在破案app积分版
- 逃离机械城app_逃离机械城appiOS游戏下载_逃离机械城appios版下载
- 恋爱调查:找出怪盗Xapp_恋爱调查:找出怪盗Xapp官方正版
- 仙境传说RO:守护永恒的爱app_仙境传说RO:守护永恒的爱app电脑版下载