4
我有以下幾點:隨機雙打總是無限
std::random_device rd;
std::mt19937_64 randEng(rd());
std::uniform_real_distribution<double> rg(std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max());
for(size_t i = 0; i < numToGenerate; i++){
nums[i] = rg(randEng);
std::cout << nums[i] << std::endl;
}
哪裏nums
是預篩分至numToGenerate
。每一個打印出來,雖然說inf
我的理解是,我已經設置此號碼的載體在這種情況下獲得隨機數字-1.79769e+308
和1.79769e+308
,因爲它恰好在我的機器上。我在這裏設置的這個隨機數發生器在做什麼錯誤
什麼是'nums'?你如何初始化它?如果它是一個向量,你可能需要事先調整它的大小,或者使用push_back來避免未定義的行爲。 – 2014-10-19 20:40:35
數字沒有定義。它是如何定義的? – 2014-10-19 20:41:26
'nums'是一個預先設定的大小爲'numToGenerate'的向量 – csteifel 2014-10-19 20:41:34