C语言中&, |, ^, ~ 位运算符

“&”:与运算符(两位都为1才为1,否则为0

“&”运算符,就是按位“与”, 只有两者对应位都为“1”,结果对应位才为 1,否则为 0
1 0 1 0
1 1 0 0
------------
= 1 0 0 0

“|”:或运算符(两位中一个为1则为1,否则为0
“|”运算符,就是按位“或”,只要两者对应位有一个为“1”,则结果对应位就为 1,否则为 0
1 0 1 0
1 1 0 0
------------
= 1 1 1 0

“^”:异或运算符(两者对应不同则为1,否则为0
“^”运算符,就是按位“异或”,只有两者对应位不一样(即一个为 1, 一个为 0 ),则结果对应位才为 1, 否则为 0
1 0 1 0
1 1 0 0
-----------
= 0 1 1 0

“~”:取反运算符​​​​​​​(取反为1为0,0为1
“~”运算符,就是按位“取反”,如果该位为 1,则结果对应位为 0,如果该位为 0, 则结果对应位为 1
​​​​​​​~ 1 0 1 0
-------------
= 0 1 0 1

你可能感兴趣的:(单片机,c语言)