Fork me on GitHub

java之位运算符

整型转二进制:Integer.toBInaryString(6)

<<:左移,3<<2 = 3*2*2 = 12

>>:右移,3>>1 = 3/2 = 1.(有符号的右移,看首位是0还是1,是0则补0,是1则补1;无符号右移就只补0

>>>:无符号右移,3>>>1 = 3/1 = 1.,注意没有无符号左移

&:与运算,6 & 3 = 2(当二进制中两个数的对应位置都为1,结果才为1,例如1010 & 1101 = 1000

|:或运算,6 | 3 = 7(当二进制中两个数的对应位置都为0,结果才为0,例如10100 & 11010 = 11110

^:异或运算,6 ^ 3 = 5(当二进制中两个数的对应位置都是0或者都是1时,结果才为0,例如10100 & 11010 = 01110

~:反码,~6 = -7(正数的原码、反码、补码都是它自己,负数的反码是原码的除符号位取反,补码是反码+1

posted @ 2019-12-14 12:59  西西嘛呦  阅读(154)  评论(0编辑  收藏  举报