如何在 Dart 中生成大随机数?

Adr*_*cus 3 random dart

普通的 DartRandom类支持的 Random 值最大为(1 << 32) - 1,这确实很大,但是我如何生成比这个大得多的数字呢?(我的意思是更大((1 << 32) - 1) * 10^50或类似的东西。

Dan*_*eny 5

您可以通过组合多个随机数来做到这一点;例如,如果你想要一个 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 中收集大量数据,则需要一个库(并且性能可能会很差)。