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

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

[复制链接]
查看: 511|回复: 11
跳转到指定楼层
1
发表于 2007-4-28 00:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用C写一个simulator.主要是描述一个exponential distribution.
; d: T9 P8 _  [: v方程是 x = -ln(y). y 是0到1之间的随机数.x在0到999,999之间指数分布.2 J" p" }) ^/ |3 P1 T

  ?% K4 R* `4 D, w7 _我的问题是y需要用很小的数才能产生999,999或999,998之类的x分布.即使
4 L0 o2 z8 C1 V8 c6 @0 f8 G$ x用double也无法区分两个很小的y.
1 K4 s' B8 I; o
+ A5 X6 l( r$ h/ F4 E  W3 |5 J6 g请问有什么好主意? C或C++下面都中
分享到:  微信微信
收藏收藏 分享分享
2
发表于 2007-4-28 00:38 | 只看该作者
不好意思,我已经忘记怎么用C了!
回复 支持 反对

使用道具 举报

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

使用道具 举报

4
发表于 2007-4-28 08:37 | 只看该作者
你个鸟人,别和我说这是供应链 的题目!!!& i8 a- @- l5 D5 i4 F8 s
让你老婆自己回答,这个题 我以前做过。! g  z  \3 |0 B4 ^7 G$ Y
& V9 N9 L0 i1 V9 s9 d
回复 支持 反对

使用道具 举报

5
 楼主| 发表于 2007-4-28 09:05 | 只看该作者
我日,你丫胡扯个茄子。( p+ s2 M, M. f; l, Z1 Y
. @/ U4 W/ k: s( R& b! l8 j
C#/C++ 里面, bigint/ bigdecimal 的数据类型," _% {5 X! e. |; q: n, B, Z
8 H; `7 X5 Y. T: L& p, Z- c( W( j
这实际上是要求随机数数目足够多。比如说,加入我们只有100个随机数,从1-100,那能达到的分辨率就只能是1/100。, Z5 j' d0 K: N7 y( @. b

" y% m7 @7 Z4 V3 T$ ?要求分辨率到1/e^999,999,这个数字多大呢,先算个小的,e^999,e^999=7.2x10^433,这就要求数字位数达到433位,保守一点,算e^999=10^433,有e^999,999=10^433000
: q! E$ g! H4 t% Z# t1 ]
5 a4 J+ V0 D0 ^5 x需要产生的随机数数量为10^433000个以上。这要求的是数字位数有433000位以上。如果单精度是8位(待查),的精度是五万倍以上精度。专门写个程序来实现。+ X) q5 O, \; w" ?" q4 o

- \! T( R  Z9 q$ @这跟共营链有个茄子关系? : i. R; ]! }( h1 e- m
& s% k% S, J* ?2 s9 U1 l, c
[ 本帖最后由 切特务 于 2007-4-28 09:10 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

7
 楼主| 发表于 2007-4-28 12:32 | 只看该作者
原帖由 freewarcraft 于 2007-4-28 12:13 发表: c: ~5 p, K7 F, n% _  c9 Z  Z) F
LZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?
# I' u# z) z6 H3 O0 P# |建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道 ...
1 g  E$ o* ]& Q

, a9 }& r7 ?) D/ E$ t
! C* }# S  ]" E8 z  `" u
回复 支持 反对

使用道具 举报

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