1、java的移运算
1)>> :算术右移(最高位补上符号位1|0)
2)<<:左移(低位补0)
3)>>>:逻辑右移(高位补0)
注意:1)从数学意义上来讲,算术左移1位表示原值乘以2.(在没有溢出的情况下,如果有溢出,从位的角度来看,没有错,从数学角度来看,结果就不是预期的结果)
2)从数学意义上来讲,右移1位表示原值除以2
. 3)如果移动的位数n>=32 则实际移动的位数为n%32
2、&:两个位数同为1,结果才为1
3、~求反
4、^:不带进位的加法运算
性质:1)a^a=0 :判断两个数是否相等,比较高效
2)a^b^a=b:交换两个数
5、|:有一个1,结果就为1
6、java数据类型转换
小 转 大:在扩展位上补上小(数据类型)的符号位
大 转 小:取大(数据类型)的低位(如 long -》int ,则取long的低32位)