【发布时间】:2022-10-14 10:33:21
【问题描述】:
我正在阅读一本解释 xorshift 算法的书(我知道,基本的东西)。然后,在互联网上进行更多搜索时,我发现所有基本示例似乎都将位向右/向左移动相同的“数量”(13、17、5)。
例如:
struct xorshift32_state {
uint32_t a;
};
uint32_t xorshiftTransform(struct xorshift32_state *state) {
uint32_t x = state->a;
x ^= x << 13;
x ^= x >> 17;
x ^= x << 5;
return state->a = x;
}
在所有示例中他们使用13、17 和5 是否有特殊原因?是的,我也找到了其他例子,但是这个例子不断重复,我不知道数字选择是否微不足道。
【问题讨论】: