java之位运算符
发布时间:2020-12-15 06:44:10 所属栏目:Java 来源:网络整理
导读:整型转二进制:Integer.toBInaryString(6) :左移,32 = 3*2*2 = 12 :右移,31 = 3/2 = 1.( 有符号的右移,看首位是0还是1,是0则补0,是1则补1;无符号右移就只补0 ) :无符号右移,31 = 3/1 = 1.,注意没有无符号左移 :与运算,6 3 = 2( 当二进制中两
整型转二进制: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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |