作战2000论坛

标题: 替友人求助:语言大师乱入: [打印本页]

作者: 切特务    时间: 2007-4-28 00:06
标题: 替友人求助:语言大师乱入:
用C写一个simulator.主要是描述一个exponential distribution.0 ~! O- u" R, x; `6 f$ ^+ @% n
方程是 x = -ln(y). y 是0到1之间的随机数.x在0到999,999之间指数分布.' p# O) Y) H7 h- J7 `1 j2 j7 p
* D3 b2 O  f0 |- c( t2 w2 k
我的问题是y需要用很小的数才能产生999,999或999,998之类的x分布.即使
" e- u5 M5 \) y) w用double也无法区分两个很小的y.
, o" ^9 A0 q) v8 d" N* w
/ J% t: J( O; j8 v6 h请问有什么好主意? C或C++下面都中
作者: fisher    时间: 2007-4-28 00:38
不好意思,我已经忘记怎么用C了!
作者: L.COMMANDER    时间: 2007-4-28 01:20
TUBRO C初学者并卡在数组和FOR循环的人飘过......
作者: jackey_cheung    时间: 2007-4-28 08:37
你个鸟人,别和我说这是供应链 的题目!!!
  t. Y/ x1 S/ h6 x3 X让你老婆自己回答,这个题 我以前做过。
" M5 g1 t( Y! o& F
' _: D. u3 A* v. D  e; g
作者: 切特务    时间: 2007-4-28 09:05
我日,你丫胡扯个茄子。2 [5 O. k+ d8 g) w* C; h% o
* S  A: B0 b5 {6 A9 I# A
C#/C++ 里面, bigint/ bigdecimal 的数据类型,
% B& N2 [/ s  r2 {! C( l
* Y! M. z1 x2 A" p! Q% G1 `$ F0 H8 A* R这实际上是要求随机数数目足够多。比如说,加入我们只有100个随机数,从1-100,那能达到的分辨率就只能是1/100。
. V/ _4 U* d$ l' X. k* g
. c- D# I, O  q要求分辨率到1/e^999,999,这个数字多大呢,先算个小的,e^999,e^999=7.2x10^433,这就要求数字位数达到433位,保守一点,算e^999=10^433,有e^999,999=10^433000
  Q2 j( J0 d& d3 q' c% z! r  S: a: `7 r
需要产生的随机数数量为10^433000个以上。这要求的是数字位数有433000位以上。如果单精度是8位(待查),的精度是五万倍以上精度。专门写个程序来实现。
7 a  x- H; |) t- W& I
% \; Y) U" p8 K, H1 s% g" N/ x这跟共营链有个茄子关系?
) x+ h0 [( _" {( N3 Y" v( U( x+ j, F! g, z; `5 k' n
[ 本帖最后由 切特务 于 2007-4-28 09:10 编辑 ]
作者: freewarcraft    时间: 2007-4-28 12:13
LZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?
0 B, _& \  [+ D6 P4 u% c. C3 J建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道。。。
作者: 切特务    时间: 2007-4-28 12:32
原帖由 freewarcraft 于 2007-4-28 12:13 发表( u/ r8 R7 l' L3 [* {( [
LZ的意思是不是双精度浮点型变量的取值范围也无法满足需求?我记得VB里可以自定义变量类型的,C++里应该也可以吧,或者专门写一个函数生成y的值?
# `$ C) I4 Q1 }, M$ d' r建议上百度知道之类的搜索下,不是个很难的问题,虽然我不知道 ...
& t/ D/ ~# d( f& W8 }* j& ^
* T6 g, S, c! F4 I, n

! m1 k% R& F5 F
作者: Donitz    时间: 2007-4-29 23:15
C++……看到就头大的东西啊……继续钻研汇编了
作者: TNT老虎    时间: 2007-4-30 17:08
楼上这些可敬地兄弟,你们在说什么话题呀? 看了半天,不得要领!
作者: fisher    时间: 2007-5-1 01:05
楼上的,我们在讨论计算机汇编语言
作者: TNT老虎    时间: 2007-5-16 13:03
原来如此,我去搬个凳子,坐着听! 双脚离地。。。。。。^^!
作者: 三哥    时间: 2007-5-16 16:30
楼上的,建议你拿个大鼎听,有醍醐灌顶的作用。




欢迎光临 作战2000论坛 (http://combat2000.cn/) Powered by Discuz! X3.2