Windows 中重写Unix的随机函…
来源:互联网 发布:c语言终端分屏 编辑:程序博客网 时间:2024/06/08 11:16
文章主要参考http://blog.csdn.net/jimmyblind/article/details/5550042
srand48和drand48是Unix库函数,drand48的作用是产生[0,1]之间均匀分布的随机数,采用了线性同余法和48位整数运算来产生伪随机序列
其中
函数用上面的算法产生一个48位的伪随机整数,然后再取出此整数的高32位作为随机数,然后将这个32位的伪随机数规划到[0,1]之间,用函数srand48来初始化drand48(),其只对于48位整数的高32位进行初始化,而其低16位被设定为随机值。
1: #define MNWZ 0x100000000
2: #define ANWZ 0x5DEECE66D
3: #define CNWZ 0xB16
4: #define INFINITY 0xFFFFFFFFF
5:
6: int labelsize;
7: int dim;
8:
9: static unsigned long long seed = 1;
10:
11: double drand48(void)
12: {
13: seed = (ANWZ * seed + CNWZ) & 0xFFFFFFFFFFFFLL;
14: unsigned int x = seed >> 16;
15: return ((double)x / (double)MNWZ);
16: }
17:
18: //static unsigned long long seed = 1;
19:
20: void srand48(unsigned int i)
21: {
22: seed = (((long long int)i) << 16) | rand();
23: }
阅读全文
0 0
- Windows 中重写Unix的随机函…
- Unix/Linux 脚本中 "set -e" 的作…
- 用Syslog 记录UNIX和Windows…
- 转:C#中调用Windows API时的…
- Sql Server中怎么随机选取指定行数…
- 在JSP页面中随机出现Internet Expl…
- 采用categary的方式重写 UINavigat…
- 随机森林 VS Grad…
- [精华] Unix的环境变量
- 当 今 中 国 的 深 层 悲 剧(转载…
- C++中 隐藏、重写(覆盖)解析
- 未初始化的局部变量 为什么随机值…
- SCOPE 中 SPFILE、MEMORY、BOTH 的…
- OpenGL 中常用的 GLUT 函数…
- Windows下面 的 Zend Framework Ap…
- windows 下oracle 10g oem 访问的…
- simh中运行unix v7
- simh中安装运行unix v7
- glut库下的主要函数 (1)
- glut库下的主要函数 (2)
- ubuntu下连接sqlserver
- OGRE中使用CEGUI【1】
- IniParser+win7解析配置文件INI
- Windows 中重写Unix的随机函…
- 批量导入Google Scholar中的…
- UVa 10891
- Matching Calibrated Ca…
- 【转】彻底解决Android SDK&n…
- windows窗口相关
- Unity3D协同程序
- 在matlab 画箭头
- C# 基本特性