27

一部の CPU (特に x86 CPU) は、ステータス レジスタにパリティ フラグを備えています。このフラグは、演算結果のビット数が奇数か偶数かを示します。

パリティフラグは、プログラミングのコンテキストで実際にどのような目的で使用されますか?

補足: 基本的なエラー チェックを実行するために、パリティ ビットと組み合わせて使用​​することを意図していると思いますが、そのようなタスクは、CPU フラグ全体を保証することは一般的ではないようです。

4

4 に答える 4

4

パリティで実現可能な実用的なマイクロ最適化が 1 つあります。これは、バタフライ カーネルを使用したフーリエ変換アドレス生成などで使用されるビット スワッピングです。

ビット 7 と 0 を交換するには、(a&0x81) のパリティとそれに続く条件付き (a^=0x81) を利用できます。ビット 6/1、5/2、および 4/3 について繰り返します。

于 2017-09-16T04:47:32.547 に答える