在win32应用程序中生成32位随机数

时间:2013-10-01 05:32:46

标签: c++ c visual-c++

我正在 Visual Studio 2010中使用win32应用程序

我想生成两个32位随机数,必须大于999999,我是如何实现它的

2 个答案:

答案 0 :(得分:4)

您可以随机使用C ++ 11:

http://en.cppreference.com/w/cpp/numeric/random

std::random_device rd;
std::uniform_int_distribution<int32_t> dist(10000);

std::cout << dist(rd) << std::endl;

我没有在MSVC ++中开发,所以我希望它已经支持这些;)

答案 1 :(得分:1)

Rand函数返回0到RAND_MAX之间的整数,保证至少为32767

首先播种rand函数并调用rand。

  #include <stdlib.h>

 srand(0);
 long int r = 999999 + (long int)((double)rand()/(double)RAND_MAX * (LONG_MAX - 999999 + 1))  ;

如果999999是你的最小值,首先在[0; 1]之间缩放兰特输出,现在缩放到新范围[0; LONG_MAX-999999]并转移到[999999; LONG_MAX]加入999999。