论文部分内容阅读
摘要: random()函数和rand()函数都可以产生随机数,但是,两者的实现过程是不一样的,在使用这两个函数时总是会遇到一些疑问。该文结合实例分析了rand()函数产生随机数的过程,对不同随机函数的使用有一定的指导意义。
关键词:C 语言; 随机函数;随机数
中图分类号:TP312 文献标识码:A 文章编号:1009-3044(2015)34-0104-02
Abstract: random () function and rand () function can generate random numbers, but both the implementation process is not the same when using these two functions will always encounter some doubts. Examples of this paper analyzes the rand () function generates a random number process, the use of different random function has a certain significance.
Key words: C language; random function; random numbers
在C语言中的随机数函数是randomize()和random(),前者是产生随机数的种子,而后者是根据前者生成的种子来产生随机数。random()函数产生的随机数是一种伪随机数。在C 语言的开发工具中(例如DEV C )已经无法使用randomize()函数参数随机数了,取而代之的是rand()函数[1-3],接下来就分析一下rand()函数产生随机数的实现原理。
1 产生随机数的实例
C 语言编写的产生随机数的程序,如下代码所示。
#include "stdlib.h"
#include
using namespace std;
int main()
{for(int i=1;i<=10;i )
cout< return 0; }
程序运行后输出10个整数,分别是:
41 18467 6334 26500 19169 15724 11478 29358 26962 24464
为了更加清晰的了解rand( )函数,可以通过工具逆向分析一下这个程序,逆向生成的主要代码如下。
CALL DWORD PTRDS:[<
关键词:C 语言; 随机函数;随机数
中图分类号:TP312 文献标识码:A 文章编号:1009-3044(2015)34-0104-02
Abstract: random () function and rand () function can generate random numbers, but both the implementation process is not the same when using these two functions will always encounter some doubts. Examples of this paper analyzes the rand () function generates a random number process, the use of different random function has a certain significance.
Key words: C language; random function; random numbers
在C语言中的随机数函数是randomize()和random(),前者是产生随机数的种子,而后者是根据前者生成的种子来产生随机数。random()函数产生的随机数是一种伪随机数。在C 语言的开发工具中(例如DEV C )已经无法使用randomize()函数参数随机数了,取而代之的是rand()函数[1-3],接下来就分析一下rand()函数产生随机数的实现原理。
1 产生随机数的实例
C 语言编写的产生随机数的程序,如下代码所示。
#include "stdlib.h"
#include
using namespace std;
int main()
{for(int i=1;i<=10;i )
cout<
程序运行后输出10个整数,分别是:
41 18467 6334 26500 19169 15724 11478 29358 26962 24464
为了更加清晰的了解rand( )函数,可以通过工具逆向分析一下这个程序,逆向生成的主要代码如下。
CALL DWORD PTRDS:[<