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

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

[复制链接]
查看: 504|回复: 11
跳转到指定楼层
1
发表于 2007-4-28 00:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用C写一个simulator.主要是描述一个exponential distribution.
8 h4 N; j/ J) Y+ \9 U4 b6 g方程是 x = -ln(y). y 是0到1之间的随机数.x在0到999,999之间指数分布.
4 D8 Y! k1 L9 r; E! m# x
9 Y6 E' O# Y: y: y( O我的问题是y需要用很小的数才能产生999,999或999,998之类的x分布.即使9 x& `6 K, m& |+ A6 m6 D
用double也无法区分两个很小的y.# L. O8 F& E/ I# n- n( K3 T: s
' P! z4 |' D5 ^$ 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 | 只看该作者
你个鸟人,别和我说这是供应链 的题目!!!: T0 s# H* P: I  G
让你老婆自己回答,这个题 我以前做过。7 H( }7 G  D( X" j  R% g

3 ~) [0 @/ {  E' j
回复 支持 反对

使用道具 举报

5
 楼主| 发表于 2007-4-28 09:05 | 只看该作者
我日,你丫胡扯个茄子。7 H3 K. \( |4 {$ V6 P9 o- D$ {/ g
. ]9 z5 {3 v& ~) w3 ~4 s
C#/C++ 里面, bigint/ bigdecimal 的数据类型,
6 c' _8 f+ d- S. B3 s. p- p( ?5 [& [' v1 v1 \. n1 D
这实际上是要求随机数数目足够多。比如说,加入我们只有100个随机数,从1-100,那能达到的分辨率就只能是1/100。
+ o, L, X4 J9 Y! ]$ P8 `& C
6 ^6 K, |/ C9 T. [9 g3 w3 \要求分辨率到1/e^999,999,这个数字多大呢,先算个小的,e^999,e^999=7.2x10^433,这就要求数字位数达到433位,保守一点,算e^999=10^433,有e^999,999=10^433000
) `) r' U: Y' r4 i- E/ y" g* w* Z2 u
$ J# a; z5 r4 ]& C需要产生的随机数数量为10^433000个以上。这要求的是数字位数有433000位以上。如果单精度是8位(待查),的精度是五万倍以上精度。专门写个程序来实现。
, e1 @+ n8 m* @) i) h8 e& {# ~
; b/ v$ y) ?& D0 Y4 h0 [这跟共营链有个茄子关系? * E. w/ ~- h; R
9 S+ x2 j3 q: P8 e* H
[ 本帖最后由 切特务 于 2007-4-28 09:10 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

7
 楼主| 发表于 2007-4-28 12:32 | 只看该作者
原帖由 freewarcraft 于 2007-4-28 12:13 发表$ R* n5 H- A2 P  [2 {& n( c0 @
LZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?, q! D; j1 j0 P7 m# z% |. m) L
建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道 ...
) k4 ^( q' e- w4 H) F

+ X6 H4 v0 v# g$ X9 L% D$ s9 s' Y8 U0 a6 X( p9 q
回复 支持 反对

使用道具 举报

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  
快速回复 返回顶部 返回列表