正常飞镖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. 大随机数生成
- 4. 在数组中生成随机数字
- 5. 如何在django中生成随机数
- 6. 如何并行生成随机数字?
- 7. AS3 - 如何生成随机数字?
- 8. 如何在C++中生成非常大的随机数
- 9. 在php中生成随机数字
- 10. 随机生成数字?
- 11. 如何在Swift中生成没有重复的随机数字?
- 12. 在Python中 - 如何生成不重复的随机数字
- 13. 如何在Javascript中生成倾斜的随机数字?
- 14. 如何在c中生成唯一的随机数字#
- 15. 如何在python中生成高度一致的随机数字?
- 16. 生成非常大的随机数java
- 17. 如何在程序集中生成随机数生成器?
- 18. 通过随机字符生成生成随机名字太慢
- 19. 在随机字节的给定范围内生成随机数
- 20. SIPp - 如何在SIPp场景中生成一个随机数字?
- 21. 如何在python中生成随机数字序列?
- 22. 如何在C++中生成随机二进制数字?
- 23. 如何在JSON字段中生成一个随机数
- 24. 如何在8086程序集中生成一个随机数字?
- 25. 如何在Elixir中生成一个随机数字?
- 26. 如何在GREL中使用GoogleRefine或OpenRefine生成随机数字?
- 27. 如何在CUDA FORTRAN中生成随机数字?
- 28. 如何在Android Java应用程序中随机生成数字?
- 29. 如何在R中更快地生成随机数字?
- 30. 如何从短随机数生成更长的随机数?
对于1000比特数的范围内产生1000个随机值[0,1]和将它们连接起来。更大的基数是可能的:基数10,16,1000,1024等。只需在更大的范围内生成数字,并使用更大的乘数进行连接。 – rossum 2014-10-16 22:38:20