创造长期的randoms

时间:2012-12-28 18:09:54

标签: c# random long-integer

所以我有这个

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

我想在.Next之后放很久。我怎么做?它只接受整数。

2 个答案:

答案 0 :(得分:3)

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

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

或者

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

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

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

答案 1 :(得分:0)

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