Xorshift 随机数生成器及其变体
1. 引言
随机数在计算机科学和统计学中有着广泛的应用,如模拟实验、密码学等。Xorshift 随机数生成器是一种快速、易于实现且周期长的生成器,自 2003 年提出以来,已经出现了多个变体。本文将详细介绍 Xorshift 生成器及其几种变体,并分析它们的性能和应用。
2. Xorshift32 生成器
2.1 代码实现
Xorshift32 生成器的周期为 $2^{32}-1$,其 C 代码如下:
#define A 13
#define B 17
#define C 5
unsigned long s32 = 2463534242UL;
unsigned long xorshift32(void) {
s32 ^= (s32<<A);
s32 ^= (s32>>B);
s32 ^= (s32<<C);
return s32;
}
2.2 代码解释
-
A、B和C是三个参数,用于选择具体的生成器。 -
s32是种子,任何非零值都可以作为种子。 - 代码通过三个异或(XOR)操作对种子进行处理,生成伪随机序列。
2.3 性能测试
将 Xorshift32 生成器应用于 Monty Hall 困境程序
Xorshift随机数生成器详解
超级会员免费看
订阅专栏 解锁全文
4708

被折叠的 条评论
为什么被折叠?



