zoukankan      html  css  js  c++  java
  • srand随机数

    在看AMCL源码中,发现srand函数

    srand48(time(NULL));

    表示根据当前系统时间,获取48位运算随机数

    需要的头文件

    #include <stdlib.h>
    #include <time.h>

    [此处内容转自https://blog.csdn.net/cnmilan/article/details/7103786] 

    srand()用来设置rand()产生随机数时的随机数种子。

    定义函数:void srand (unsigned int seed);

    参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

    srand48()——获取48位运算随机数(数据类型:double);

    time(0)——获取当前时间(long);

    getpid()——获取当前进程识别码(long);

    srand48(time(0) ^ getpid())就是产生一个48位种子随机数。该随机函数的种子参数是time(0) ^ getpid(),即:系统时间(从某个时间到现存的秒数,类型为long)的当前进程识别码次方。
    这个函数在UNIX系统的C、C++中存在。WINDOWS中一般不用(VC++不用)。例如当前时间为10E30秒,当前进程为100,上述式子相当于windows 下的rand(10E30*100)=rand(10E32)。
    返回值,一般赋给编程人员要用的变量,或直接作为参数传递给另一个函数。

  • 相关阅读:
    java实习生面试
    使用vue可视化界面创建vue项目
    Git操作分支
    ECharts获取Json文件数据
    Java中字符串反转
    es6新增的API
    es5新增的数组的方法
    操作字符串的相关方法
    排序方法总结
    js内置对象-Array
  • 原文地址:https://www.cnblogs.com/havain/p/15009945.html
Copyright © 2011-2022 走看看