splitmix64 的实现存档。 1 2 3 4 5 6 7 8 9 10 #include uint64_t splitmix64(uint64_t x) { // 固定的“魔法”常数,都是精心挑选的 x += 0x9e3779b97f4a7c15; x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; x = (x ^ (x >> 27)) * 0x94d049bb133111eb; x = x ^ (x >> 31); return x; }