为什么计算一个数字奇偶校验的代码可以平行运行**?

use*_*107 1 parallel-processing bit-manipulation

我正在研究按位操作.

但是,我不明白为什么他们声称代码是并行运行的.

并行计算奇偶校验

unsigned int v;  // word value to compute the parity of
v ^= v >> 16;
v ^= v >> 8;
v ^= v >> 4;
v &= 0xf;
return (0x6996 >> v) & 1;
Run Code Online (Sandbox Code Playgroud)

我从http://graphics.stanford.edu/~seander/bithacks.html#ParityParallel复制了代码

任何帮助将不胜感激.

Jos*_*Lee 5

计算32位字的奇偶校验的简单顺序方法将采用(顺序)32次操作.该方法是并行(或"矢量化"),因为它一次操作许多位.第一行将v ^= v >> 1616个高位与16个低位组合在一条指令中.