我有麻烦试图生成一个随机的无符号__int64值,没有任何人有做这样的事情的一种快速有效的方法是什么?下面是我正在做的,请检查下面的代码。如何创建一个随机bit64值
unsigned __int64 m_RandomKey = 0;
while(m_RandomKey == 0)
{
m_RandomKey = (unsigned __int64) rand() << 32 | rand();
}
什么是产生一个无符号__int64键,以便为正在努力一段时间后再次获得相同的钥匙,甚至在所有的最好方法? 它不一定是唯一的只要在18,446,744,073,709,551,615中还有1个,它就不会再执行一次!
可能是有益的:http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution – chris 2013-05-06 20:31:53
'不需要rand'以生成32位的值。它生成范围为[[0,RAND_MAX]'的值,并且'RAND_MAX'必须> = 32767。稍微复杂的算法可以对此进行调整。 – 2013-05-06 21:10:41