| 查看: 1646 | 回复: 14 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】产生0~1之间随机数的函数
|
|||
| 产生0~1之间随机数的函数 大家帮帮忙好吗 |
» 猜你喜欢
自荐读博
已经有9人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
自然科学基金委宣布启动申请书“瘦身提质”行动
已经有4人回复
求个博导看看
已经有18人回复
2楼2009-07-14 22:09:58
3楼2009-07-15 15:49:05
argo
铁杆木虫 (著名写手)
上善若水
- 应助: 4 (幼儿园)
- 金币: 9672.8
- 散金: 200
- 红花: 34
- 帖子: 1940
- 在线: 486.4小时
- 虫号: 507533
- 注册: 2008-02-19
- 性别: GG
- 专业: 凝聚态物性 II :电子结构

4楼2009-07-15 17:48:38
5楼2009-07-15 21:11:52
prestoner
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 2645.6
- 帖子: 58
- 在线: 19.2小时
- 虫号: 145047
- 注册: 2005-12-24
- 性别: GG
- 专业: 计算机应用技术

6楼2009-07-26 01:01:38
7楼2009-07-29 10:05:56
8楼2009-07-30 12:59:06
★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gwdavid(金币+5,VIP+0):谢谢 8-24 15:45
小木虫(金币+0.5):给个红包,谢谢回帖交流
gwdavid(金币+5,VIP+0):谢谢 8-24 15:45
|
我参考 java 随机数生成函数写的一个简单的 C++ 版本 typedef unsigned long long uLL; uLL seed = 1; void setSeed( uLL s ) { seed = s; } double nextDouble() // 返回下一个 double 型随机数,范围是 0 到 1 { return ( ( ( uLL )next( 26 ) << 27 ) + next( 27 ) ) / 9007199254740992.0; } int next( int bits ) // 生成下一个伪随机数 { seed = ( seed * 25214903917L + 11L ) & 0xFFFFFFFFFFFF; return ( int ) ( seed >> ( 48 - bits ) ); } 使用 nextDouble() 函数就可以返回 0 到 1 之间的伪随机数了。 一般用系统时间来设置随机数种子,即 seed = ( unsigned ) time( NULL ); |
9楼2009-08-24 12:24:08
woshilsh
荣誉版主 (职业作家)
- 应助: 43 (小学生)
- 贵宾: 10.33
- 金币: 21115.1
- 散金: 737
- 红花: 22
- 帖子: 3777
- 在线: 639.7小时
- 虫号: 293038
- 注册: 2006-11-04
- 专业: 计算机应用技术
- 管辖: 仿真模拟

10楼2009-08-24 15:35:31







回复此楼