• c++11 random_device 真随机数最简单应用


    c++11提供了random_device,据说是真随机数,不过只有在Linux下是真随机,因为Linux有熵池;在Windows下只是调用了rand_s。( ・´ω`・ )

    代码如下

    #define random(min,max) (gen()%(max-min+1))+min
    #include <random>//随机数
    using namespace std;
    int main()
    {
    random_device rd;//随机数发生器
    mt19937 gen(rd());//随机数引擎
    cout<<random(0,100)<<endl;
    }


    不过不知为什么,每次打开程序随机数序列都一样,如有特殊需要可以加上头文件,然后把

    (gen()%(max-min+1))+min

    改为

    (gen()*time(NULL)%(max-min+1))+min


    如果没有看懂,可以去看以下讲解

    C++11随机数的正确打开方式

    mt19937是什么鬼?

    或者查看官方文档

    random_device

    mt19937

    如果还没有看懂,建议使用srand()和rand()

    #define random(min,max) (rand()%(max-min+1))+min
    #include <random>//随机数
    using namespace std;
    int main()
    {
    srand(time(NULL));
    cout<<random(0,100)<<endl;
    }

    ————————————————
    版权声明:本文为CSDN博主「Dwi yn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jgjfror/article/details/113790271

  • 相关阅读:
    Mockito一个方法的实例
    LIst与ArrayList区别
    mockito入门学习
    eclipse中调整字体大小和改变背景颜色
    常用sql语句
    eclipse导入代码和重新编译
    windows下登录linux的常用工具SecureCRT和常用命令
    junit4
    接口测试
    java环境
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/16320702.html
Copyright © 2020-2023  润新知