·位运算符
A:
1)&(位与), |(位或), ^(位异或), ~(反码:按位取反)
注意事项:计算一个数据对另一个数据进行位运算操作,必须先将数据转换为二进制补码
正数的原码、反码、补码相同,不用转换,但本质还是补码
在计算负数时,应先将负数转换为补码,再计算
a.3&4
b.3|4
c.3^4
特点(考点):一个数据被另一个数据位异或两次,其值本身不变
面试题:实现两个数据值的交换
方法1:(中间变量法:开发中常用)
方法2:(使用位异或特点,面试中常用)主要是看是否了解位异或特点
方法3:(变量相加,了解)
d.~3
2)<<:左移动:最高位丢弃掉,在右边补齐0
心法:a<<b = a * (2^b)
3)>>:右移动:最高位是1,左边补齐1,否则补齐0
心法:a>>b = a / (2^b)
4)>>>:无符号右移动:无论最高位是多少,左边都补齐0
心法:若a>=0为正,则a>>>b = a / (2^b)
若a<0,则转换为二进制补码,再计算