我需要一个介于0和整数之间的随机整数,其中包含超过1000个小数位。范围内的随机大整数JavaScript
使用整数这个大很容易:big-integer(NPM),但没有随机方法,Math.random()没有表达足够的精度来覆盖域。
有谁知道一个聪明的方法在JavaScript中产生大范围的伪随机整数?
我需要一个介于0和整数之间的随机整数,其中包含超过1000个小数位。范围内的随机大整数JavaScript
使用整数这个大很容易:big-integer(NPM),但没有随机方法,Math.random()没有表达足够的精度来覆盖域。
有谁知道一个聪明的方法在JavaScript中产生大范围的伪随机整数?
我认为在node.js中你的情况最好的解决办法是crypto.randomBytes(size, [callback]);
您能详细说明如何将随机字节的缓冲区转换为X和Y之间的整数?这比你的简短回答看起来要少得多。 –
我只能对普通整数进行操作,但由于“大整数”模块不支持十六进制数字,所以对于大数字很难做到这一点 – micnic
啊,好吧,这很有道理。 '大整数'似乎代表使用整数数组作为一个大的基表示,得到一个好的分布将是一个比它的目的更加需要的算法。 –
也许这:
var crypto = require('crypto');
var biformat = require('biguint-format');
// Adjust # bytes as needed
var seed = biformat(crypto.randomBytes(8), 'dec');
bigInt(seed);
注意,[大整数](https://www.npmjs.org/package/大整数)现在有一个'randBetween'方法。 –