POCO C++库学习和分析 -- 随机数和数字摘要
在程序设计时,有时候我们需要生成随机数和数字摘要。在Poco库中,也提供了上述功能,下面我们一一叙述:
1. 随机数生成
Poco中生成随机数的类为Poco::Random类。它根据PRNG( pseudo random number generator )算法设计,采用了一个累加的非线性反馈算法。PRNG算法可以产生0 ~ 2^31之间的随机数整数。在接口上Poco::Random提供了一些函数,可以使使用者直接得到其他形式的随机数。如char, bool, float 和 double 类型。另外Poco库中还提供了RandomInputStream类,用于Poco::Random类的流操作。
成员函数:
1. void seed(Poco::UInt32 seed)
根据给定的种子值生成随机数。
2. void seed()
使用任意值(从RandomInputStream类中获取)生成随机数。
3. 默认的构造时,Poco::Random类采用当前的时间和日期生成随机数。如果想要更好的随机效果,需要显式的调用seed()方法
4. UInt32 next()
返回0 ~ 2^31之间的随机整数<