C里的RAND
#include <stdlib.h> #include <stdio.h> int main() { srand(time(0)); printf("%d\n", rand()); return 0; }
使用C++11 里的Mersenne Twister随机数
C++11支持的Mersenne Twister可以非常轻量级的快速生成大量随机数.适合在benchmark的时候使用
#include <iostream> #include <random> main() { std::mt19937_64 rng; // 使用系统时间生成随机数种子 rng.seed(static_cast<unsigned int>(std::time(0))); // 生成32-bit的随机整数 std::cout << rng() << std::endl; // 生成 1到255之间(包括1和255) 的随机数 std::uniform_int_distribution<int> unif(1, 255); std::cout << unif(rng)<< std::endl; // 以概率0.3生成true, 0.7生成false std::bernoulli_distribution bern(0.3); std::cout << bern(rng) << std::endl; }
No comments:
Post a Comment