- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NS中一种新的随机数提取
摘要:随机数在软件开发和程序设计中应用较为广泛,该文从分析随机数的一般原理入手,指出它们的缺陷,然后从NS(network simulator)中提取一种新的产生随机数的方法,并验证它的可行性。
关键词:伪随机数;随机数;种子
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2009)05-1138-03
A New Approach to Generate Random Numbers Extracted from the NS(Network Simulator)
DUAN Min1,QIAN Guang-ming2,XIAO Min3
(College of Mathematics and Computer Science of Hunan Normal University, Changsha 410081, China)
Abstract: Random number is widely used in the software development andprogramming. This article analyses the general principles of the random numbers ,points out their shortcomings and puts forward a new approach to generate random numbers extracted from the NS(network simulator).Then we verifyits feasibility.
Key words: Pseudo-random number; Random Numbers; Seed
1 引言
在用计算机编制程序时,经常需要用到随机数,我们也知道随机数在实际运用中非常之多,如游戏设计,信号处理,网络仿真领域。特别在网络仿真等领域,对随机数的产生提出了较高的要求,仅使用C++语言类库中的随机函数可能会很难完成相应的工作。本文简单的介绍我们从NS中所提取的这种随机数的原理,并对其进行了测试,希望以后可以应用到我们需要的领域中去。
2 随机数
2.1 伪随机数
随机数是计算机随机产生的一个任意数字,但是计算机不会产生一个绝对随机的随机数,我们希望计算机产生一个绝对的随机数,这是一种理想的随机数,然而计算机产生的只能是相对的随机数,即伪随机数。
伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随机数有一部分遵守一定的规律;另一部分不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正是点到了事物的特性,即随机性,但是每种树的叶子都有近似的形状,这正是事物的共性,即规律性。从这个角度讲,计算机只能产生伪随机数而不能产生绝对随机的随机数。
2.2 种子(seed)
种子(seed)是用来产生随机数的一个初始值,可以是我们自己给定的,也可以通过一定的运算而得到的,也可能是通过获取当前系统的时间而得到的。获取种子的值不同,那么其后面产生的一系列化的随机数也不同,如果每次给定的种子是一样的,那很有可能其后产生的一系列化的随机数是相同的。所以我们要产生随机数时,要避免给一个固定的初始值,种子通常是一个无符号的整形数。
3 VC++中随机数的实现
在VC的环境下,我们可以用库函数random()来产生一个随机数,它返回的是?C32768 到32767中的任意一个数。在VC6.0环境下是这样定义的:random(数字)。数字是我们自己给予赋值的,注意的是random(1)产生的是数字0,而不是1,因为random()产生的是由0到数字减一的效果。例如random(10)产生的实际上是0~9的数字。
在VC中还可能用另外一个随机函数rand()来产生随机数,包含在头文件中,它没有参数,返回是0到最大数之间的一个整数,也就是说该随机数是在0~RAND_MAX之间平均分布的, RAND_MAX是一个常量,在VC6.0环境下是这样定义的:
#define RAND_MAX 0x7fff(32767)
它是一个short 型数据的最大值,如果要产生一个浮点型的随机数,可以将rand()/1000.0这样就得到一个0~32.767之间平均分布的随机浮点数,我们也可以自己去定义这个最大数。
我们写一个小程序,来产生一个随机数。
#include
您可能关注的文档
- Halo LDD P-Si TFT工艺参数优化.doc
- Hello Color 你好 色彩!.doc
- Hibernate框架下信息系统数据初始化问题的研究.doc
- Hibernate在异构数据库系统中的应用.doc
- Hibernate对象持久化技术的研究.doc
- HoneyPot在计算机取证中的应用探讨.doc
- HP Design Jet大幅面绘图仪的故障剖析.doc
- HMP在呼叫中心系统中的应用.doc
- Hspice软件在时钟产生电路设计中的应用.doc
- IBM创新为要:从服务学科到人才培养.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)