前言
常见的运算符就不说了,学过数学的都会。
逻辑运算符
A && B A和B都为真,则真
A || B A和B任意为真,则为真
!A A为真,则为假
当上述条件为真时,则执行下一步代码
位运算符
将整数转为二进制后进行运算
二进制数:0为假,1为真
例如:
a,b := 2,4
若c := a & b按位与,按照位数分别进行与运算
a: 0 1 0
b: 1 0 0
c: 0 0 0
因此,最终 c = 0
若c := a | b按位或,按照位数分别进行或运算
a: 0 1 0
b: 1 0 0
c: 1 1 0
因此,最终 c = 6
若c := a ^ b按位异或,按照位数分别进行异或运算
异或:相同为0,不同为1
a: 0 1 0
b: 1 0 0
c: 1 1 0
因此,最终 c = 6
若c := a &^ b,
则c等于将a中ab都为1的位写为0后的新a
a: 0 1 0
b: 1 0 0
c: 0 1 0 # a中没有ab都为1的位,因此c的值依然是a
若c := a<<b左移运算,即a*2的b次方。c等于32
若c := a>>b右移运算,即a/2的b次方,c等于0