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