JAVA 位運算子和位移運算子 - 程式前沿
文章推薦指數: 80 %
java位運算子包括&(與) AND |(或) OR ^(異或) XOR ~(非) NOT 位移運算子包括>>(右移) >(右移,左邊空出的位以0填充) 顧名思義,位運算子 ...
程式語言前端開發IOS開發Android開發雲端運算人工智慧伺服器搜尋資料庫軟體開發工具JAVA位運算子和位移運算子2018.06.13程式語言HOME程式語言JAVA位運算子和位移運算子Advertisementjava位運算子包括 &(與) AND |(或) OR ^(異或) XOR ~(非) NOT 位移運算子包括 >>(右移) <>>(右移,左邊空出的位以0填充) 顧名思義,位運算子用於位運算,那就只能對整型或者字元型進行運算。
而除了~(非)是一元運算子之外其他的都為二元運算子。
所有位運算都會把值轉為二進位制進行運算 &(與) 運算規則:0&0=0 0&1=0 1&0=0 1&1=1 即:兩位同時為1時,結果為1,否則為0 Java程式碼 int a=(3&5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5)); 結果列印為 1 011 101 解析:3的二進位制為011,5的二進位制為101,與操作結果為001。
轉為十進位制是1。
|(或) 運算規則:0|0=0 0|1=1 1|0=1 1|1=1 即:參加運算的兩個物件只要有一個為1,其結果就為1 Java程式碼 int a=(3|5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5)); 結果列印為 7 011 101 解析:3的二進位制位011,5的二進位制位101。
或操作結果為111。
轉為10進製為7 ^(異或) 運算規則:1^0=0 0^1=1 1^0=1 1^1=0 即:參加運算的兩個物件,如果兩個個相應位為“異”(值不同),則該位結果為1,否則為0 Java程式碼 int a=(3^5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5)); 結果列印為 6 011 101 解析:3的二進位制位011,5的二進位制位101。
或操作結果為110。
轉為10進製為6 ~(非) 運算規則:~1=0 ~0=1 即:對一個二進位制數按位取反,即0變為1,1變為0 ~運算子的優先順序比算數運算子、關係運算子、邏輯運算子和其他運算子都高 <>(右移) 將一個數的各二進位制位全部右移諾幹位,正數左補0,負數左補1,右邊丟棄。
運算元每右移一位,相當於該數除以2 Java程式碼 int a=(9>>1); System.out.println(a); System.out.println(Integer.toBinaryString(9)); System.out.println(Integer.toBinaryString(4)); 結果列印為 4 1001 100 解析:9的二進位制為1001,右移1位後,左正數補0,右邊丟棄。
結果為0100。
轉為10進位制後為4。
AdvertisementAdvertisement写评论取消回覆很抱歉,必須登入網站才能發佈留言。
近期文章Vue中容易被忽視的知識點2019.12.09if我是前端Leader,談談前端框架體系建設2019.12.09Spark入門(一)用SparkShell初嘗Spark滋味2019.12.08Spark入門(二)如何用Idea運行我們的Spark項目2019.12.08Spark入門(三)Spark經典的單詞統計2019.12.08Spark入門(四)Spark的map、flatMap、mapToPair2019.12.08Spark入門(五)Spark的reduce和reduceByKey2019.12.08Spark入門(六)Spark的combineByKey、sortBykey2019.12.08Spark入門(七)Spark的intersection、subtract、union和distinct2019.12.08Spark實戰尋找5億次訪問中,訪問次數最多的人2019.12.08AdvertisementAdvertisement
延伸文章資訊
- 1Java的運算子 - iT 邦幫忙
^:位元XOR運算,只有兩者其一有才為一,兩者皆有及兩者皆無都為零。 ~:取相反值,一變零,零變一。 <<:位元左移. :位元右 ...
- 2JAVA 位運算子和位移運算子 - 程式前沿
java位運算子包括&(與) AND |(或) OR ^(異或) XOR ~(非) NOT 位移運算子包括>>(右移) >(右移,左邊空出的位以0填充) 顧名思義,位運算子 ...
- 3位元運算子- Java備忘筆記 - GitBook
我們知道資料在記憶體中都是以0/1的方式儲存,如果想直接對這些位元做運算,Java提供了一些位元運算子供設計師使用。 Operator運算子. 描述. 範例(令a, b為數值).
- 4Java 快速導覽- 位元運算子
所謂的位元運算(bit operation) ,就是逐位元進行比較,例如以上兩項編碼做邏輯或的位元運算 ... 0111 1111. Java 的位元運算子(bitwise operator) ...
- 5Java :: 運算子
位元運算