高质量的c++随机数生成方法
来源:互联网 发布:windows电脑唯一标识 编辑:程序博客网 时间:2024/05/29 05:07
随机数用的场合非常多,比如卷积神经网络算法中,初始的卷积核权值就是随机数;图像处理上的柏林噪声,要用到随机数;微信抢红包嘛,谁抢的多、谁抢的少,拼人品、拼手气,其实拼的是程序背后的随机数。如果觉得c++自带的rand()生成的随机数不理想,想使用高质量的快速随机数产生器boost::mt19337,但又没有安装boost库,然后又不想用c++ 11,那怎么办?用下面这个吧,这个应该和boost::mt19337是一样的,但本人没有具体去验证。下面是代码示例,用法非常简单,设定随机种子后,就可以各种使用了。
#include "stdafx.h"#include <stdlib.h>#include <time.h>#include "mt19937ar.h"int main(){// 系统自带随机数生成printf("default...\n");srand((unsigned int)time(NULL));for (int i = 0; i < 10; i++){printf("%d: %d\n", i, rand());}// mt19937随机数生成printf("\nmt19937...\n");init_genrand((unsigned long)time(NULL));for (int i = 0; i < 10; i++){printf("%d: %f %d\n", i, genrand_real1(), genrand_int31());}system("pause");return 0;}
程序运行结果如下:
工程下载链接:http://download.csdn.net/detail/u013085897/9738108
0 0
- 高质量的c++随机数生成方法
- 高质量的C代码.关于获取随机数
- 不一样的随机数生成方法(C/C++)
- C/C++生成随机数的方法浅析
- 随机数的生成方法(C)
- 生成随机数的方法
- 生成随机数的方法
- 生成随机数的方法
- 生成随机数的方法
- 生成随机数的方法
- C/C++随机数生成方法
- C/C++生成高斯分布随机数
- C#(.Net)平台下生成随机数方法的小结
- boost高质量随机数库
- C语言版随机数的生成
- C/C++随机数的生成
- 生成高斯分布随机数的程序
- Symbian生成随机数的方法
- 离职维权经历
- Java类获取Spring的ApplicationContext
- python爬取个人信息
- Spring整合JMS——基于ActiveMQ实现
- plsql 问题解决 ORA-12154: TNS: 无法解析指定的连接标识符
- 高质量的c++随机数生成方法
- 方法
- 矩形覆盖
- 基础题 CodeForces - 631B Print Check
- java安装问题(1)
- 微信小程序css篇----flex模型
- 88. Merge Sorted Array*
- 设计模式----组合模式
- 问题三十六:ray tracing中的Inverse Mapping(1)——球面Inverse Mapping