使用Xorshift随机数生成器...我已经有了生成器,但我无法修改它以提供0到上限之间的数字(如Java中的nextInt()
方法随机类)。
long seed = System.nanoTime();
int next(int nbits) {
long x = seed;
x ^= (x << 21);
x ^= (x >>> 35);
x ^= (x << 4);
seed = x;
x &= ((1L << nbits) -1);
return (int) x;
}
有什么想法吗?