前言
常见的运算符就不说了,学过数学的都会。
逻辑运算符
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