因此,我正在学习the SplitMix64 generator的代码,并在这里介绍了这一部分:
uint64_t z = (x += 0x9e3779b97f4a7c15);
不是C程序员,我不太了解这种结构。
在x递增之后,z的平均值是否等于x的赋值
x += 0x9e3779b97f4a7c15;
z = x;
或这是否意味着z在x递增之前获得x的值
z = x;
x += 0x9e3779b97f4a7c15;
而且,在C#中会发生相同的行为吗?
答案 0 :(得分:1)
z获得x的赋值 。这样想吧:
z = (x = x + 0x9e3779b97f4a7c15);
赋值的返回值始终是赋值完成后赋值左侧的值。