Java 中的位元操作
Aug 30, 2024 pm 03:59 PM通常,程式設計師處理 int、float、double、String 等資料類型的變數或 Array、List、ArrayList 等集合。在某些情況下,程式設計師需要更深入地了解位元組和位元層級的數據,以提取和操作資料。 Java 和 C# 等語言可讓您在位元層級操作數據,這表示您可以存取位元組中的特定位元。在本主題中,我們將學習 Java 中的位元操作。
在進行資料壓縮和資料加密時,通常需要 Java 中的位元操作,程式設計師需要在位元層級提取資料以對原始資料進行編碼、解碼或壓縮。我們將在本文後面看到位元操作的許多其他應用。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
Java 支援 3 位元移位和 4 個位元運算子來執行位元層級的運算。這些運算子可用於整數(int、short、long 和 byte)以執行位元層級的操作。
Java 位元和位移運算子
以下是運算子:
Operator | Description |
& | Bitwise AND |
| | Bitwise OR |
~ | Bitwise Complement |
<< | Left Shift |
>> | Right Shift |
^ | Bitwise XOR |
>>> | Unsigned Right Shift |
Java 中的位元操作運算子
讓我們更詳細地了解運算子。
1.位元或
這是一個二元運算符,需要2 個操作數,用符號「|」表示」。位元運算子比較兩個運算元的對應位。如果運算元任意一位為1,則輸出為1;如果沒有,則為0。
範例
15 = 00001111(二進位)
27 = 00011011(二進位)
15 和 27 的位元或運算
00001111
| 00011011
___
00011111 = 31(十進位)
Java 程式
1 2 3 4 5 6 |
|
輸出:
這也是一個位元運算符,它需要 2 個運算元,用符號「&」表示。以位元運算子比較兩個運算元的對應位。如果操作數位均為 1,則輸出為 1;否則,0。
範例
15 = 00001111(二進位)
27 = 00011011(二進位)
15 與 27 的位元與運算
00001111
| 00011011
___
00001011 = 11(十進位)
Java 程式
1 2 3 4 5 6 |
|
輸出:
與我們迄今為止討論的其他兩個運算符不同,它只需要一個操作數並表示符號“~”。此運算子反轉操作數的位元。如果操作數位為 0,則將其轉換為 1,反之亦然。
範例
15 = 00001111(二進位)
15的位元補運算
~ 00001111
___
11110000 = 240(十進位)
Java 程式
1 2 3 4 5 6 7 |
|
輸出:
4.位元異或
位元異或是一個二元運算符,它需要 2 個運算元並用符號「^」表示。此運算子比較兩個運算元的對應位,如果兩個運算元的對應位不同,則輸出 1,否則輸出 0。
位元異或運算子相當於(位元或 + 位元補)
範例
15 = 00001111(二進位)
27 = 00011011(二進位)
15 和 27 的位元異或運算
00001111
^ 00011011
___
00010100 = 20(十進位)
Java 程式
1 2 3 4 5 6 7 |
|
輸出:
左移位元運算子將位元模式向左移動運算元中指定的一定次數。左移運算子以符號“
範例
123(二進位:01111011)
第123章1 的計算結果為 246(二進位:011110110)
第123章2 的計算結果為 492(二進位:0111101100)
第123章3 的計算結果為 984(二進位:01111011000)
Java 程式
1 2 3 4 5 6 7 8 |
|
輸出:
有符號右移運算子的工作原理與左移運算子完全相同,只是它添加了零位並移至高位。
範例
123(二進位:01111011)
第123話1 的計算結果為 61(二進位:00111101)
第123話2 的計算結果為 30(二進位:00011110)
第123話3 的計算結果為 15(二進位:00001111)
Java 程式
1 2 3 4 5 6 7 8 |
|
輸出:
右移運算子將零移到最左邊的位置,移動運算元中指定的一定位數。
Java 程式
1 2 3 4 5 6 7 8 |
|
輸出:
結論 – Java 中的位元操作
現在我們已經到了文章的結尾,讓我們總結一下我們在本文中討論的要點。我們已經了解了什麼是位元操作及其不同的用例。我們也學習了不同類型的位元運算子(位元與、位元或、位元補和位元異或)和位移運算子(有符號左移運算子、有符號右移運算子和無符號右移運算子)以及範例和樣本Java 程式解釋各個運算子。
以上是Java 中的位元操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)