七、赋值运算符
1、+= 加且赋值 C += A;等价于C=C+A
2、-= 减且赋值 C -= A;等价于C=C - A
3、*= 乘且赋值 C *= A;等价于C=C*A
4、/= 除且赋值 C /= A;等价于C=C / A
5、%= 取余且赋值 C %= A;等价于C=C%A
6、>>= 右移且赋值 C >>= A;等价于C = C>>A
7、<<= 左移且赋值 C <<= A;等价于C = C<<A
8、&= 按位与 C &= A ;等价于C = C&A
例:C=12 ====》转成二进制 0 0 0 1 0 1 0 1
A=21 ====》转成二进制 0 0 0 0 1 1 0 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
0 0 0 0 0 1 0 0=====》十进制4
按位与的计算就是先换算为二进制,再每一位对应进行判断
1&0=0 1&1=1 0&0=0 0&1=0
9、|= 按位或 C |= A ;等价于C = C|A
只要对应的数有一个为1最后就为1
1|0=1 1|1=1 0|1=1 0|0=0
10、^= 按位异或 C ^= A ;等价于C = C^A
对应的数的值不一样就为1
1^0=1 0^1=1 0^0=0 1^1=0
11、~= 按位非(按位取反) C ~= A ;等价于C = C~A
八、杂项运算符
- sizeof :返回变量的所占内存大小(如果不知道sizeof和strlen的区别,可以查看我的上一篇文章)
- &:取地址符,返回变量的地址
- * :指向一个变量 *p
- ? : :条件表达式(三目运算符) 条件为真?则值等于X:则值为Y。
九、注意事项
- (优先级最高)!> 算术运算符 > 关系运算符 > 逻辑与 > 逻辑或 > 赋值运算符。
- 1、同一优先级的运算符,运算顺序由结合方向决定。