我需要一個介於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'方法。 –