2

私は次のCステートメントを持っています:

int res = x & (x ^ y);

同じことをする方法はありますが、それぞれ1回だけ使用xyますか?

例えば:

x | (~x & y) == x | y
4

2 に答える 2

7

はい、xor ( a ^ b == (a & ~b) | (~a & b)) を展開し、結果を単純化すると、次のようになります。

res = x & ~y;
于 2012-05-14T13:38:54.363 に答える
4

x & (x ^ y)オンに設定されているビットとオンに設定されているビットを設定します。たとえば、オンxに設定されていません。x^yy

したがって、次のことができます。

int res = x & ~y;
于 2012-05-14T13:39:12.620 に答える