C 如何确定一个整数中的0位是否变为另一个整数中的1

C 如何确定一个整数中的0位是否变为另一个整数中的1,c,int,bitwise-operators,bit,C,Int,Bitwise Operators,Bit,假设你有两个整数,A和B int A = 0b0011; int B = 0b1001; 如何确定a中的a0是否转到B中的a1 我不在乎a中的1是否转到B中的0,或者位是否保持不变,只要a0转到a1 我希望这里的输出是: result = 0b1000 异或 0011 1001 ---- 1010 结果食宿酒店 1010 1001 ---- 1000 Xor设置为A和B中不同的1位。但您只对A中的0'是B中的1'的情况感兴趣。要关闭这些位,只需使用B即可。您需要计算按位~A&B。请注意,

假设你有两个整数,A和B

int A = 0b0011;
int B = 0b1001;
如何确定a中的a
0
是否转到B中的a
1

我不在乎a中的
1
是否转到B中的
0
,或者位是否保持不变,只要a
0
转到a
1

我希望这里的输出是:

result = 0b1000
异或

0011
1001
----
1010
结果食宿酒店

1010
1001
----
1000

Xor设置为A和B中不同的1位。但您只对A中的0'是B中的1'的情况感兴趣。要关闭这些位,只需使用B即可。

您需要计算按位
~A&B
。请注意,您的按位操作应该使用无符号类型;看见