今天真的丢脸了,被girlfriend问倒了一个问题,她问&, |, ^, ~位操作符是干什么的,怎么用,当时没回答得上来,于是百度了一下才知道,现整理出来。
既然说了位运算符当然是对位操作啦,“位”即二进制位
-
“&”:与运算符
“&”运算符,就是按位“与”, 只有两者对应位都为“1”,结果对应位才为 1,否则为 0
1 0 1 0
1 1 0 0
= 1 0 0 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 1 0 0
= 0 1 1 0
-
“~”:取反运算符
“~”运算符,就是按位“取反”,如果该位为 1,则结果对应位为 0,如果该位为 0, 则结果对应位为 1