C++ srand()范围不符合预期c++;

C++ srand()范围不符合预期c++;,c++,random,range,C++,Random,Range,我试图生成随机的9位数字,但由于某种原因,我的数字总是1000******。我觉得我的srand很好,但一定是发生了什么事 int SSN = (rand() % 899999999) + 100000000; 似乎RAND_MAX远小于九位数。简单地说:rand()生成的值对于您的目的来说太小了。您需要使用不同的RNG。看起来RAND\u MAX比九位数小得多。简单地说:rand()生成的值对于您的目的来说太小了。您需要使用不同的RNG。考虑您的类型的大小……如果您可以使用C++11甚至T

我试图生成随机的9位数字,但由于某种原因,我的数字总是1000******。我觉得我的srand很好,但一定是发生了什么事

int SSN = (rand() % 899999999) + 100000000; 

似乎
RAND_MAX
远小于九位数。简单地说:
rand()
生成的值对于您的目的来说太小了。您需要使用不同的RNG。

看起来
RAND\u MAX
比九位数小得多。简单地说:
rand()
生成的值对于您的目的来说太小了。您需要使用不同的RNG。

考虑您的类型的大小……如果您可以使用C++11甚至TR1,请查看
。这很好。@CarlNorum不认为int的大小有问题,但我认为这是rand()的限制。我将只写一个带有ascii码的随机生成器。谢谢“32位无符号整数的范围为0到4294967295”考虑一下类型的大小……如果可以使用C++11甚至TR1,请查看
。这很好。@CarlNorum不认为int的大小有问题,但我认为这是rand()的限制。我将只写一个带有ascii码的随机生成器。谢谢“32位无符号整数的范围是0到4294967295”哇,我不知道有这样的事。我想我应该检查一下。好的,谢谢。是否有其他随机生成器在C++中,或者我必须自己编写吗?@ BejyksELSLER,通常,是的,但是,好,只是想保存你的查找:)@ XRUNIX是的,<代码> <代码>头被添加到C++ 11中(虽然许多编译器早就有了,作为Tr1的一部分)。哦,我不知道有这样的事情。我想我应该检查一下。好的,谢谢。是否有其他随机生成器在C++中,或者我必须自己编写吗?@ BejyksELSLER,通常,是的,但是,好,只是想保存你的查找:)@ XRUNIX是的,<代码> <代码>头被添加到C++ 11中(尽管许多编译器早就有了它,作为Tr1的一部分)。