-4

所以我有这个

Random random1 = new Random();
int intrandom1 = random1.Next();

我想在.Next 之后放一个很长的时间。我怎么做?它只接受整数。

4

2 回答 2

3

第一个想法:一个long as 64位整数,是2个32位整数的组合,所以你可以使用:

((long)random1.Next() << 32)  | random1.Next()

也许

((long)random1.Next() <<< 32)  | random1.Next()

如果您使用 java (?) 并且需要无符号移位

编辑:看起来不像Java。Java 有 random1.nextLong() 。也许是 C#?我不知道那个

于 2012-12-28T18:13:22.883 回答
0

可以使用简单的链表生成任意长的数字。试想一下,列表中的每个节点都可以存储一个随机生成的数字,并且可以像读取单一数字一样读取该列表的函数。使用这样的算法,您可以获得任意长的随机数。

于 2012-12-28T18:19:00.260 回答