c ++从1到8位的随机数

时间:2013-11-01 04:14:14

标签: c++

我正在尝试从1 - 99,999,999生成一个随机数 然而,它永远不会那么高。我认为它与int的大小有关。

这是我正在尝试的

(1 + rand() % 99999999)

由于

2 个答案:

答案 0 :(得分:1)

您的代码无效,因为rand返回的值的最大值为RAND_MAX

  

int rand(void);

     

生成随机数   返回0到0之间范围内的伪随机整数   RAND_MAX。


  

RAND_MAX

     

rand返回的最大值此宏扩展为   整数常量表达式,其值是返回的最大值   通过兰特功能。

     

此值取决于库,但保证至少为   32767任何标准库实现。

答案 1 :(得分:0)

要生成最小值和最大值之间的随机数,它们应为长数据类型使用:

long randamNum = rand()%(max-min + 1) + min;

(Includes max and min)

更清晰,请参阅Generating random integer from a range