java或异运算_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
* */
總結
以上是生活随笔為你收集整理的java或异运算_java中与运算,或运算,异或运算,取反运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rhel系统启动过程_Linux系统启动
- 下一篇: 无限超越超级机器人nds_阿里重新定义个