正常飛鏢Random
類支持隨機值高達(1 << 32) - 1
,這確實是相當大的,但我怎麼能產生數字,這比這大得多? (大得多我的意思是((1 << 32) - 1) * 10^50
或類似的東西如何在Dart中生成大的隨機數字?
0
A
回答
1
我的確如rossum的建議:我生成的數字(decim al系統)連接它們並解析它們,看看它們是否在允許的值中(< maxValue)。算法是:
int nextInt(int max) {
int digits = max.toString().length;
var out = 0;
do {
var str = "";
for (int i = 0; i < digits; i++) {
str += this._random.nextInt(10).toString();
}
out = int.parse(str);
} while (out < max);
return out;
}
0
您可以通過合併多個隨機數做到這一點;例如,如果你想有一個64位的隨機數,你可以這樣做:
var r = new Random();
var random1 = r.nextInt(pow(2, 32));
var random2 = r.nextInt(pow(2, 32));
var bigRandom = (random1 << 32) | random2;
print(bigRandom); // 64bit random number
要如果你在Dart VM之外運行(使用dart2js),那麼你將受到JavaScripts數量限制的束縛,如果你需要在JavaScript中使用大數字,你需要一個庫(並且性能可能會很糟糕) )。
相關問題
- 1. 如何在Dart中生成隨機數字?
- 2. 如何在Python中生成一個「大」的隨機數字?
- 3. 如何生成大的隨機數C
- 4. 如何在Haskell中隨機生成一個隨機生成的數字列表
- 5. 大隨機數生成
- 6. 在數組中生成隨機數字
- 7. 如何在django中生成隨機數
- 8. 如何在java中生成隨機數
- 9. 如何隨機生成數字?
- 10. 如何並行生成隨機數字?
- 11. 如何用arc4random生成隨機數字?
- 12. AS3 - 如何生成隨機數字?
- 13. 如何在C++中生成非常大的隨機數
- 14. iPhone:如何在目標中生成隨機大寫字符C
- 15. 在php中生成隨機數字
- 16. 在C中生成隨機數字
- 17. 隨機生成數字?
- 18. 在隨機生成50個隨機數中使用隨機數#
- 19. 如何在Android中使用JSON數組生成隨機數字
- 20. 如何在Swift中生成沒有重複的隨機數字?
- 21. 如何在Java中生成一個隨機的9位數字?
- 22. 如何顯示在TextView中生成的隨機數字?
- 23. 如何在R中生成這樣的隨機數字
- 24. 如何在python中生成高度一致的隨機數字?
- 25. 如何在c中生成唯一的隨機數字#
- 26. 如何在Javascript中生成傾斜的隨機數字?
- 27. 如何在Swift中生成0-5之間的隨機數字?
- 28. 在Python中 - 如何生成不重複的隨機數字
- 29. 生成非常大的隨機數java
- 30. 生成大小相同的隨機數
對於1000比特數的範圍內產生1000個隨機值[0,1]和將它們連接起來。更大的基數是可能的:基數10,16,1000,1024等。只需在更大的範圍內生成數字,並使用更大的乘數進行連接。 – rossum 2014-10-16 22:38:20