1.原码、反码、补码

原码:十进制数的二进制形式
反码:原码按位取反后得到,例如 0010 1011 的反码为1101 0100
补码:分为两种情况:正数(包括0)的补码就是它的原码,负数的补码为它的反码+1且符号位为1(符号位:二进制数最左位)
*在计算机中,十进制数是以其补码形式存储,因此进行位运算时不用考虑是否需要转换成补码

2.位运算符(自动用补码运算运算)

& :按位与:全1则1,否则为0。例:0001 1011&1101 0010 = 0001 0010
| :按位或:全0则0,否则为1。
~ :按位非:遇1则0,遇0则1,单数运算。使用方法例:~8
^ :按位异或:相同则0;否则为1 此处注意:Java中次方运算不能用此符号,可以用 Math.pow(a,b);//计算a的b次方

>>n :右移n位,最右位舍弃,符号位不变,体现在十进制数上则相当于除以2取商。例:1001 0110 >> 1 =1100 1011
<<n :左移n位,符号位不变,体现在十进制数上相当于乘以2。
>>>n :逻辑右移,右移n位,符号位变0。例:1001 0110 >>> 1 = 0100 1011