一、前沿
位运算在实际应用中并不多,但是有习惯读源码的童鞋会发现,位运算处处可见,这个时候如果不了解或是不熟悉位运算的法则,会影响到读源码的效率,也会大大减退读源码的积极性;本文将会为大家解答位运算,同时会从实战的角度让大家有更进一步的认识。
二、位运算基本语法
位运算实际上是二进制的运算,如果要计算3&5 ,首先是要把3和5分别转成二进制,若对进制转换不了解,可以用在线进制转换工具
1.位与(&或者and) 口诀:同为1则为1,否则为0
3—— 0000 0000 0000 0000 0000 0000 0000 0011
5—— 0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0001 ——1
计算得:3 & 5 = 1
2.按位或(|或者or) 口诀:同为0则为0,否则为1
3—— 0000 0000 0000 0000 0000 0000 0000 0011
5—— 0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0111 ——7
计算得:3|5 = 7
3.按位异或(^或者xor) 口诀:相同为0,不同为1
3—— 0000 0000 0000 0000 0000 0000 0000 0011
5—— 0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0110 ——6
计算得:3^5 = 6
4.按取反(~或者inv) 口诀:0变1,1变0
3—— 0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1