普通的 DartRandom类支持的 Random 值最大为(1 << 32) - 1,这确实很大,但是我如何生成比这个大得多的数字呢?(我的意思是更大((1 << 32) - 1) * 10^50或类似的东西。
您可以通过组合多个随机数来做到这一点;例如,如果你想要一个 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
Run Code Online (Sandbox Code Playgroud)
意识到; 如果您在 Dart VM 之外运行(使用 dart2js),那么您将受到 JavaScript 数量限制的约束。如果您需要在 JavaScript 中收集大量数据,则需要一个库(并且性能可能会很差)。
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |