锁定老帖子 主题:C的亂數產生器
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-12
cpp 代码
自己寫的。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-02-12
为什么说是乱数呢?不是随机数么?
还用的繁体字,台湾人么? |
|
返回顶楼 | |
发表时间:2007-02-13
这么复杂的程序,连个注释都没有……
|
|
返回顶楼 | |
发表时间:2007-02-13
刑天战士 写道 这么复杂的程序,连个注释都没有……
程式的本身,就是最好的注釋。 看不懂的,可以提問啊 |
|
返回顶楼 | |
发表时间:2007-02-13
timel这个函数是干什么用的?ANSI_C的?没用过……
|
|
返回顶楼 | |
发表时间:2007-02-13
随机数如果以时间作为种子总是不完全的
|
|
返回顶楼 | |
发表时间:2007-02-13
time1() 是自己寫的
// file: sj02.h void time1(int *t1); void time2(int t1, double *dt); // ---------------------------------------------- void time1(int *t1) { struct _timeb timebuffer; _ftime( &timebuffer ); *t1= timebuffer.time + 8L*60*60; (*t1)%= (1L*24*60*60); *t1= (*t1)*1000L + timebuffer.millitm; }// end time1() // ---------------------------------------------- void time2(int t1, double *dt) { // get t2 int t2; time1(&t2); // ---------------------------------------------- *dt= (t2 - t1)/1000.0; // dt must >= 0.0 if ((*dt) < 0.0) { (*dt)+= 1.0*24.0*60.0*60.0; } }// end time2() // ---------------------------------------------- |
|
返回顶楼 | |
发表时间:2007-02-13
*s1= t1; for (int i=0;i<300> rnd1(s1); } 我有 空跑 300次,就是 為了避開 呼叫時間函數的缺點。 那麼,請問你有更好的 idea 嗎? |
|
返回顶楼 | |
发表时间:2007-02-15
rand的问题比较经典的可以去参考Donald Knuth - The Art of Computer Programming, Volume 2: Seminumerical Algorithms中的内容(我也没有怎么仔细研究过).
不过如果是Windows下,可以使用系统提供的一个随机数函数CryptGenRandom, 将大大的提高随机数的安全性. |
|
返回顶楼 | |
发表时间:2007-02-15
hurricane1026 写道 Lucas Lee 写道 为什么说是乱数呢?不是随机数么?
还用的繁体字,台湾人么? 这位大叔当然是台湾人了。而且50多了。尊重些前辈吧。 兩岸相隔 (96 - 38) 60年,總是會有一些名詞使用上的差異, 了解就好。 亂數,就是 隨機數。了解就好。 使用繁體字,也不是個人的錯。 況且, 想要了解中國 五千年的歷史文化寶藏, 不靠繁體字是 無法辦到的。 禮失而求諸野。古有明訓。 兩岸應該合作,才能迎頭趕上世界水平。 中芯,宏力等中國晶片製造公司,不都是台胞 帶著金錢 技術 人才過去而 建立起來的。 不多說了。 |
|
返回顶楼 | |