首页 > 代码库 > 获取0到1的随机数
获取0到1的随机数
这个网址介绍了很多
http://stackoverflow.com/questions/17598547/why-is-the-first-result-of-rand-doublerand-max-is-not-random
and
http://stackoverflow.com/questions/1340729/how-do-you-generate-a-random-double-uniformly-distributed-between-0-and-1-from-c
范围是0-1
double X=((double)rand()/(double)RAND_MAX);
1 #include <iostream> 2 #include <iomanip> 3 #include <map> 4 #include <random> 5 6 int main() 7 { 8 std::random_device rd; 9 10 11 std::mt19937 e2(rd());12 13 std::uniform_real_distribution<> dist(0, 1);14 15 std::map<int, int> hist;16 for (int n = 0; n < 10000; ++n) {17 ++hist[std::round(dist(e2))];18 }19 20 for (auto p : hist) {21 std::cout << std::fixed << std::setprecision(1) << std::setw(2)22 << p.first << ‘ ‘ << std::string(p.second/200, ‘*‘) << ‘\n‘;23 }24 }
范围是0-1
1 #include <stdlib.h>2 3 double randZeroToOne()4 {5 return rand() / (RAND_MAX + 1.);6 }
范围是M到N
double randMToN(double M, double N){ return M + (rand() / ( RAND_MAX / (N-M) ) ) ; }
获取0到1的随机数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。