Java generating “random” numbers that don't repeat for 2^48 period

后端 未结 4 1843
萌比男神i
萌比男神i 2021-01-03 03:56

Basically I want to generate random numbers that won\'t ever repeat for a very long period (I don\'t want to use a sequence) like for example the LCG that java uses:

4条回答
  •  情书的邮戳
    2021-01-03 04:40

    Not for that LCG, since you are modding out by 2^48 each time you call it (and thus the period/state is at most 2^48 in length). If you want a better random number generator, you could try the Mersenne twister:

    http://en.wikipedia.org/wiki/Mersenne_twister

    The standard MT19937 has a period of 2^19937-1 (!!!) That should be more than you will ever need.

提交回复
热议问题