设为首页收藏本站
打印 上一主题 下一主题

替友人求助:语言大师乱入:

[复制链接]
查看: 507|回复: 11
跳转到指定楼层
1
发表于 2007-4-28 00:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用C写一个simulator.主要是描述一个exponential distribution.
1 w: Y1 d8 r1 [  V7 [方程是 x = -ln(y). y 是0到1之间的随机数.x在0到999,999之间指数分布.+ g" K% ?' \9 L+ \, @5 \. i
* I( O6 |! p/ E+ X) B/ Q2 V  j
我的问题是y需要用很小的数才能产生999,999或999,998之类的x分布.即使
' J$ j% X: f7 h9 D! O% y, l用double也无法区分两个很小的y.
) g7 u; f9 Z7 v  }0 Y, r
8 P7 O0 `# q, M% z* z请问有什么好主意? C或C++下面都中
分享到:  微信微信
收藏收藏 分享分享
2
发表于 2007-4-28 00:38 | 只看该作者
不好意思,我已经忘记怎么用C了!
回复 支持 反对

使用道具 举报

3
发表于 2007-4-28 01:20 | 只看该作者
TUBRO C初学者并卡在数组和FOR循环的人飘过......
回复 支持 反对

使用道具 举报

4
发表于 2007-4-28 08:37 | 只看该作者
你个鸟人,别和我说这是供应链 的题目!!!$ z1 p2 e- y( m4 u
让你老婆自己回答,这个题 我以前做过。
$ P# E8 ^% o, L0 r
& i! ?0 {6 D+ P6 y2 Q) }; R
回复 支持 反对

使用道具 举报

5
 楼主| 发表于 2007-4-28 09:05 | 只看该作者
我日,你丫胡扯个茄子。
/ Z4 Z2 C2 {* @# R$ |" d' O- P
2 L8 y# z) I9 M) z5 ~' A% ~7 hC#/C++ 里面, bigint/ bigdecimal 的数据类型,
7 U# X/ ?. f' G3 v' R& k: D8 q" [: t1 x! O7 q: |: q
这实际上是要求随机数数目足够多。比如说,加入我们只有100个随机数,从1-100,那能达到的分辨率就只能是1/100。
% o/ {7 F. K, j1 x: ~1 ~% D
8 A* l5 B  M6 X* e要求分辨率到1/e^999,999,这个数字多大呢,先算个小的,e^999,e^999=7.2x10^433,这就要求数字位数达到433位,保守一点,算e^999=10^433,有e^999,999=10^433000; w. W; E3 _% T& v
- L0 w! c" J- v# x' Y
需要产生的随机数数量为10^433000个以上。这要求的是数字位数有433000位以上。如果单精度是8位(待查),的精度是五万倍以上精度。专门写个程序来实现。  {7 e8 e. ?! E& l

4 Q# o% q2 {& ?9 Q- g( N这跟共营链有个茄子关系?
, R9 F/ R$ z( `4 F( _
1 d3 A7 d, u% ~% g6 t0 l[ 本帖最后由 切特务 于 2007-4-28 09:10 编辑 ]
回复 支持 反对

使用道具 举报

6
发表于 2007-4-28 12:13 | 只看该作者
LZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?
' s" Z& Q. E$ Q" K建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道。。。
回复 支持 反对

使用道具 举报

7
 楼主| 发表于 2007-4-28 12:32 | 只看该作者
原帖由 freewarcraft 于 2007-4-28 12:13 发表
+ ~7 ~3 X  J; Z, U2 jLZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?6 _0 y; ]( Z2 u4 K! j0 u0 b
建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道 ...

5 `9 t2 t  ?1 q8 {2 W
" t3 ~7 ~7 O$ O3 A  t0 F2 _# m* E" p1 T3 d: e
回复 支持 反对

使用道具 举报

8
发表于 2007-4-29 23:15 | 只看该作者
C++……看到就头大的东西啊……继续钻研汇编了
回复 支持 反对

使用道具 举报

9
发表于 2007-4-30 17:08 | 只看该作者
楼上这些可敬地兄弟,你们在说什么话题呀? 看了半天,不得要领!
回复 支持 反对

使用道具 举报

10
发表于 2007-5-1 01:05 | 只看该作者
楼上的,我们在讨论计算机汇编语言
回复 支持 反对

使用道具 举报

11
发表于 2007-5-16 13:03 | 只看该作者
原来如此,我去搬个凳子,坐着听! 双脚离地。。。。。。^^!
回复 支持 反对

使用道具 举报

12
发表于 2007-5-16 16:30 | 只看该作者
楼上的,建议你拿个大鼎听,有醍醐灌顶的作用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们

作战两千(COMBAT2000)成立于新世纪2000年,COMBAT2000品牌秉承精益求精的态度,以诚信为宗旨,力求获得广大用户的拥戴及所有合作伙伴以及供应商的支持。

联系我们

  • 地址: 广州市萝岗区科学大道起云路1号视联电子科技园A栋711室
  • 电话: (am10:00-pm17:00) 400 602 2000
  • 传真:+86-20-8231-1913
  • Email: sales@combat2000.com

分享到

新加入会员

© 2001-2013 COMBAT2000论坛.粤ICP备14001821号  Powered byDiscuz! X3.2 Licensed  
快速回复 返回顶部 返回列表