java中與運算,或運算,異或運算,取反運算
轉自:http://www.cnblogs.com/ismileboy/p/7241567.html
//與運算 & 規則 :都為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
* */
相關文章
- 位運算-異或(^)
- 異或運算 XOR 教程
- 計算機中的補碼與java取反運算計算機Java
- ~ 按位取反運算解析
- opencv 開運算、閉運算OpenCV
- 按位取反運計算方法
- java 原碼、反碼、補碼計算 以及 取反(~)運算Java
- 異或運算完成數的交換, a++與++a的區別
- 使用運算元控制公式運算公式
- Java中的位運算Java
- 使用位運算進行加法運算
- spark-運算元-分割槽運算元Spark
- 二進位制、位運算、位移運算
- (位運算)兩個字串的位運算字串
- Java算術運算子Java
- 【Spark篇】---SparkStreaming中運算元中OutPutOperator類運算元Spark
- 運算器
- Java中的"+"運算問題Java
- java中的時間運算Java
- JavaScript中的==運算JavaScript
- Numpy 加法運算,opencv 加法運算,影像的融合OpenCV
- 運算整數C/C++位運算技巧C++
- 計算機中的浮點運算計算機
- [Python影象處理] 九.形態學之影象開運算、閉運算、梯度運算Python梯度
- java二進位制運算十進位制(精確運算)Java
- [大資料量]java移位運算與位運算與資料型別的儲存大資料Java資料型別
- Java位運算小節Java
- java反射——運算元組Java反射
- 四則運算計算器
- [shell基礎]——算術運算
- Java的&運算子作用於boolean運算元JavaBoolean
- 理解位運算
- JavaScript 冪運算JavaScript
- SQL位運算SQL
- ORACLE 集合運算Oracle
- 四則運算
- JS中的位運算JS
- 網格計算與高效能運算