java逻辑操作符代码示例

来源:互联网 发布:淘宝信息层面判断售假 编辑:程序博客网 时间:2024/05/21 09:33
public class BitOpt {    public static void main(String[] args) {        //int 类型变量共使用4个字节即32位二进制位存储        //其中最高位第32位为符号位,表示此整数是否有负号,0代表没有即正数1代表有负号即负数        int m = 61;  //111101为其二进制表示形式        //正整数的存储形式:除第32位符号位为0外,其余31位是直接把此数的二进制表示形式通过补0补齐到31位得到的如下        // 0000000 00000000 00000000 00111101        //结合符号位0最终得到61在内存中的存储形式        //00000000 00000000 00000000 00111101        int n = -61;        //负整数的存储形式:除第32位符号位为1外,其余31位的处理稍复杂一些,如下        //1. 先得到此负数的绝对值61的二进制表示形式通过补0补齐到31位得到        // 0000000 00000000 00000000 00111101        //2. 在上面的基础上按位取反,即0变1,1变0,得到        // 1111111 11111111 11111111 11000010        //3. 在步骤2的基础上按二进制计算规则(逢二进一)加上1得到        // 1111111 11111111 11111111 11000011        //结合符号位1最终得到-61在内存中的存储形式        //11111111 11111111 11111111 11000011    }}public class BitOpt {    public static void main(String[] args) {        //位运算符共7个:& | ^ ~ << >> >>>        //计算规则,把二进制位1当作true,0当作false看待,按相应逻辑运算规则计算对应二进制位        //^ 按位异或规则为相同为0不同为1,即1-1和0-0得到0,1-0和0-1得到1        int r = 0;        int a = 61;  //00000000 00000000 00000000 00111101        int b = -4;  //11111111 11111111 11111111 11111100        r = a & b;        //00000000 00000000 00000000 00111101 : 61 a        //11111111 11111111 11111111 11111100 : -4 b        //--------------------------------------------- &        //00000000 00000000 00000000 00111100 : 60 r        r = a | b;        //00000000 00000000 00000000 00111101 : 61 a        //11111111 11111111 11111111 11111100 : -4 b        //--------------------------------------------- |        //11111111 11111111 11111111 11111101 : -3 r        r = a ^ b;        //00000000 00000000 00000000 00111101 : 61 a        //11111111 11111111 11111111 11111100 : -4 b        //--------------------------------------------- ^        //11111111 11111111 11111111 11000001 : -63 r        r = ~a;        //00000000 00000000 00000000 00111101 : 61 a        //--------------------------------------------- ~        //11111111 11111111 11111111 11000010 : -62 r    }}

原创粉丝点击