&&,||,!运算结果只有0,1两种。换成十六进制就是Ox00andOx01.C语言中认为只要表达式的值不是0,就认为其为1
&,|,^,~运算结果是以二进制为基础的。下面是各个符号的具体用法。
&: 同真则真;|:一真则真;~取反;^异或,相同为假,不同为真。
OK 、先解释下^按位异或运算符:bite位不同,结果为1,否则结果为0;
(1)0^0=0, 0^1=1
0异或任何数==任何数
(2)1^0=1 1^1=0
1异或任何数==任何数取反
(3)任何数异或自己==把自己置0