2

私はビット演算を勉強しています。

しかし、なぜ彼らがコードが並行して実行されていると主張したのか理解できません。

並列でパリティを計算する

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;

http://graphics.stanford.edu/~seander/bithacks.html#ParityParallelからコードをコピーしました

どんな助けでもありがたいです。

4

1 に答える 1

6

32ビットワードのパリティを計算するための単純なシーケンシャルメソッドは、32回の演算(の順序)を必要とします。この方法は、一度に多くのビットを操作するため、並列(または「ベクトル化」)されます。最初の行v ^= v >> 16は、1つの命令で上位16ビットと下位16ビットを組み合わせたものです。

于 2012-06-10T15:47:47.740 に答える