C语言之判断两个字节变量是否互补,怪现象

2019-12-27 19:02发布

两个字节变量A与B,断判是否互补

if((A^B)!=0x0ff) { 不互补的情况 }  //方法1

if(A !=(~B)) {  不互补的情况  }        //方法2

C = (~B);
if(A !=C) {  不互补的情况 }         //方法3



现在测试: A=0x00f ,B = 0x0f0

方法1和方法3 不会执行 { 不互补的情况 }, 方法2 执行了{  不互补的情况  }   。  望高手解答!这是什么情况
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。