C语言中,以0x开头的常量数据是16进制数。
0xfe对应的二进制数为:1111 1110
0xff 对应的二进制数为:1111 1111
| 是按位“或”运算符 , 这是一个双目运算符,即:参与运算的变量必须是两个,对应位只要有一个是1,则运算结果为1,否则结果为0
如:
z=0xfe|0xff
1111 1110
1111 1111
---------------
1111 1111=0xff
& 是按位“与”运算符 , 这是一个双目运算符,即:参与运算的变量必须是两个,对应位只要有一个是0,则运算结果为0,否则结果为1
如:
z=0xfe&0xff
1111 1110
1111 1111
---------------
1111 1110=0xfe
^ 是按位"异或"运算符, 这是一个双目运算符,即:参与运算的变量必须是两个,对应位只要不同,则运算结果为1,相同,结果为0
如:
z=0xfe^0xff
1111 1110
1111 1111
---------------
0000 0001=0x01=1