2017-07-31 5 views
2

BitField1 = 00100110共通ビット演算の長いバージョンとは何ですか?

BitField2 = 00110011

((BitField1 &〜BitField2)|(BitField2 &〜BitField1)); = 00010101

これは一般的なビット単位の操作の長いバージョンです。それはなんですか?

上記のビット操作が既知の操作であるかどうかを知りたいですか?

答えて

2

これはXORです。あなたがBitField1、またはBitField2、両方ではなく、どちらかが持っているそれらのビットが1で終わる1.

ウィキペディアが言うように、一回の使用が

「アセンブリ言語のプログラマでは時々としてXORを使用しますレジスタの値をゼロに設定することへのショートカット。それ自体に対する値に対してXORを実行すると、常にゼロが返されます。

+0

ありがとうございます。 – sasha