java中与运算,或运算,异或运算,取反运算


  //与运算 &  规则 :都为1时才为1
        System.out.println( 7 & 9);
        /*
         *  7二进制 0111    
         *  9二进制 1001
         * -----------
         *        0001   ==1
         * */
        
        //或运算 | 规则:有一个为1,则为1
        System.out.println(7 | 9);
        /*
         * 7二进制 0111
         * 9二进制 1001
         * ----------
         *      1111 == 15
         * */
        
        //异或运算  ^ 规则:不同为1
        System.out.println( 7 ^ 9);
        /*
         * 7二进制 0111
         * 9二进制 1001
         * ----------
         *      1110 == 14
         *
         * */
        
        
        //取反运算 ~ 规则:按位取反
        System.out.println( ~7);//正数
        /*
         * 7二进制 0000 0000 0000 0000 0000 0000 0000 0111
         *      1111 1111 1111 1111 1111 1111 1111 1000  取反之后变成负数了
         *         1000 0000 0000 0000 0000 0000 0000 0111 补码
         *         1000 0000 0000 0000 0000 0000 0000 1000 原码  == -8
         *
         * */
        System.out.println(~-7);
        /*
         * 7二进制 1000 0000 0000 0000 0000 0000 0000 0111
         *         1111 1111 1111 1111 1111 1111 1111 1000  负数先转成补码
         *      1111 1111 1111 1111 1111 1111 1111 1001  补码
         *      0000 0000 0000 0000 0000 0000 0000 0110 得到负数的补码之后进行取反 (这时得到的是正数) 6
         * */


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM