&是按位与(双目运算符,需要2个操作数) |是按位或(双目运算符) ~是按位非(单目运算符) 1&0=0, 0&1=0, 0&0=0, 1&1=1 1|0=1, 0|1=1, 0|0=0, 1|1=1 ~1=0,~0=1 a|=b等价于a=a|b; 同理a&=b等价于a=a&b
3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下: 00001001^00000101 00001100 (十进制为12) main(){ int a=9; a=a^15; printf("a=%d\n",a); }