visual studio随机数问题
来源:互联网 发布:真心话大冒险的软件 编辑:程序博客网 时间:2024/05/05 12:20
项目过程中遇到需要使用随机数。于是研究了一下visual studio 随机数的机制。
可以收纳成公共方法的接口。
val 在区间【m,n):
(rand()%(n - m+1) ) + m
srand()设置随机数的种子
rand()伪随机数产生器,它是基于 “随机种子” 的线性随机。种子不同,随机数也不同。
一般使用的机制,以时间为种子。
srand(unsigned (time (null) ));
弊端:在1s内使用的时间种子是一样的,导致1s内产生的随机数是一样的。
相对更好的随机方式
LARGE_INTERGER seed;
//初始一个微妙级的时间种子
QueryPerformanceFrequency(&seed);
QeryPerformanceCounter(&seed);
srand(seed.QuadPart);
int randVal = rand();
MSDN说明:
typedefunion _ULARGE_INTEGER {
struct {
DWORD LowPart;
DWORD HighPart;
};
struct {
DWORD LowPart;
DWORD HighPart;
} u;
ULONGLONG QuadPart;
} ULARGE_INTEGER, *PULARGE_INTEGER;
struct {
DWORD LowPart;
DWORD HighPart;
};
struct {
DWORD LowPart;
DWORD HighPart;
} u;
ULONGLONG QuadPart;
} ULARGE_INTEGER, *PULARGE_INTEGER;
0 0
- visual studio随机数问题
- [Visual Studio]Visual Studio使用问题
- Visual Studio 问题集
- Visual Studio C#问题
- visual studio 2013 问题
- Visual Studio问题
- Visual Studio .net安装问题
- Visual studio 2005 调试问题
- visual studio LIB 环境变量问题
- Visual Studio 2012安装问题
- Visual studio安装路径问题
- Visual Studio Code使用问题
- visual studio 2017 问题记录
- Visual Studio 2008转Visual Studio 2010的模板问题
- Visual Studio .net 2003 & 2005安装问题
- visual studio .net /2005常见调试问题
- 关于visual studio 2005sp1安装问题
- Visual Studio 2005的SP1补丁问题
- 升级XCode8之后控制台打印了好多乱七八糟的东西
- 史上最全的Maven Pom文件标签详解
- Linux上的free命令详解
- 对象数组 存储打印 代码 及泛型使用
- VMware上Ubuntu实现和windows复制粘贴
- visual studio随机数问题
- TestNG系列-第五章 测试方法、测试类和测试分组(续1)
- Java语言基础-Java5对数组的支持-方法的可变参数
- 修改/etc/resolv.conf又恢复到原来的状态?
- Leetcode 452. Minimum Number of Arrows to Burst Balloons 射箭 解题报告
- 分享统计Java web项目的行数的代码
- Latex 箭头、下标、符号上下写文字、正方形和三角形
- 自学开始,回归CSDN
- 图片压缩