回答
在C++ 11,你可以做這樣的事情:
#include <iostream>
#include <random>
#include <chrono>
int main()
{
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::mt19937_64 generator (seed);
std::uniform_int_distribution<int> distribution(0, 1);
for (int i = 0; i < 100; i++)
std::cout << distribution(generator);
}
或者做註釋的C風格的建議:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
srand(time(0));
for (int i = 0; i < 100; i++)
std::cout << rand() % 2;
}
1只是想給定指出,所需的結果是二進制的,['bernoulli_distribution'](http://en.cppreference.com/w/cpp/numeric/random/bernoulli_distribution)也是合適的。 – Praetorian
對於許多發生器,您的C風格代碼將產生不斷在1和0之間交替的輸出,因此它絕對是非隨機的。對於一個典型的線性同餘發生器,通常最好保留更多有效位,而不是最低位,就像這樣。 –
@Praetorian那是我的意圖;產生一個隨機的真或假:) –
- 1. 如何在C中生成-1和1之間的隨機數?
- 2. 如何在Swift中生成0-5之間的隨機數字?
- 3. 如何生成-1和1之間的隨機數?
- 4. 在0到1之間在cuda內核中生成隨機數
- 5. 如何在0和2pi之間生成隨機數?
- 6. 如何在1-10之間生成隨機數字?
- 7. 如何在java中生成0和2^32-1之間的隨機數
- 8. 0-1之間的隨機數生成填充容器
- 9. 如何在0和用戶輸入號碼之間生成隨機數字?
- 10. 如何在C++中生成0到4之間的隨機數?
- 11. 隨機選擇0和1之間
- 12. 如何在1到1,000,000之間生成FreePascal中的隨機數
- 13. 使用高斯分佈在0和1之間生成隨機數
- 14. 如何生成0(包括)和1(不包括)之間的隨機數字浮點數
- 15. 我應該如何生成0到2之間的隨機數? BCL隨機不是隨機的
- 16. 僞隨機數生成
- 17. Matlab:如何生成僞隨機數
- 18. 我如何隨機生成75-100%之間的數字?
- 19. 生成0到10之間的隨機數字
- 20. Javascript生成0到75之間的隨機數字
- 21. 生成強的僞隨機數字
- 22. Boost C++ - 生成一個介於0和1之間的隨機實數
- 23. 如何生成-1/2到1/2之間的隨機值
- 24. 如何在'X'和'O'之間隨機生成一個字符?
- 25. 我如何在1到16之間的C++中生成一個隨機數?
- 26. 生成0和2PI之間隨機相位在Excel
- 27. 使用增強生成1和9999之間的隨機數
- 28. 生成0.001359和1之間的隨機數
- 29. 生成1到10之間的隨機數而不重複
- 30. 生成0之間的隨機數10000在C#
'r = rand()%2;'。不是嗎? –
Rean'srand'和'rand'見。 http://linux.die.net/man/3/rand。然後,使用整數除法 –
@TunZarniKyaw使用鹽以避免重複 –