के लिए एक अच्छा यादृच्छिक बीज उत्पन्न करता है मैं एक psudo-random संख्या जनरेटर के लिए एक अच्छा यादृच्छिक बीज उत्पन्न करने की कोशिश कर रहा हूं। मैंने सोचा कि मुझे विशेषज्ञ की राय मिल जाएगी। अगर मुझे यह करने का एक बुरा तरीका है या यदि बेहतर तरीके हैं तो मुझे बताएं।सी ++ psudo यादृच्छिक संख्या जेनरेटर
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <ctime>
unsigned int good_seed()
{
unsigned int random_seed, random_seed_a, random_seed_b;
std::ifstream file ("/dev/random", std::ios::binary);
if (file.is_open())
{
char * memblock;
int size = sizeof(int);
memblock = new char [size];
file.read (memblock, size);
file.close();
random_seed_a = int(memblock);
delete[] memblock;
}// end if
else
{
random_seed_a = 0;
}
random_seed_b = std::time(0);
random_seed = random_seed_a xor random_seed_b;
return random_seed;
} // end good_seed()
इसके साथ पासा और XOR रोल करने के लिए मत भूलना;) – Andrey
अगर आपके प्रक्रिया फ़ाइल हैंडल से बाहर चलाता है और नहीं खोल सकता '/ dev/random' क्या होगा? –