Rumah  >  Artikel  >  Java  >  Manipulasi Bit di Jawa

Manipulasi Bit di Jawa

王林
王林asal
2024-08-30 15:59:40904semak imbas

Biasanya, pengaturcara bekerja pada pembolehubah jenis data seperti int, float, double, String atau koleksi seperti Array, List, ArrayList dan sebagainya. Dalam sesetengah kes, pengaturcara perlu pergi lebih mendalam ke dalam data pada bait dan tahap bit untuk mengekstrak dan memanipulasi data. Bahasa seperti Java dan C# membolehkan anda memanipulasi data pada tahap bit, yang bermaksud anda mempunyai akses kepada bit tertentu dalam bait. Dalam topik ini, kita akan belajar tentang  Manipulasi Bit dalam Java.

Manipulasi Bit dalam Java selalunya diperlukan apabila bekerja pada Pemampatan Data dan Penyulitan Data, di mana pengaturcara perlu mengekstrak data pada tahap bit untuk mengekod, menyahkod atau memampatkan data asal. Terdapat banyak lagi aplikasi manipulasi Bit yang akan kita lihat kemudian dalam artikel ini.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Java menyokong anjakan 3-bit dan 4 pengendali bitwise untuk melaksanakan operasi pada tahap bit. Operator ini boleh digunakan pada jenis kamiran (int, pendek, panjang dan bait) untuk melaksanakan operasi pada tahap bit.

Operator Java Bitwise dan Bitshift

Berikut ialah pengendali:

Operator Description
& Bitwise AND
| Bitwise OR
~ Bitwise Complement
<< Left Shift
>> Right Shift
^ Bitwise XOR
>>> Unsigned Right Shift

Pengendali  Manipulasi Bit dalam Java

Mari kita lihat pengendali dengan lebih terperinci.

1. Bitwise ATAU

Ini ialah pengendali binari yang mengambil 2 operan dan dilambangkan dengan simbol “| “. Operator bitwise membandingkan bit yang sepadan bagi kedua-dua operan. Jika mana-mana bit operan ialah 1, maka outputnya ialah 1; jika tidak, ia akan menjadi 0.

Contoh

15 = 00001111 (Dalam Perduaan)
27 = 00011011 (Dalam Perduaan)
Bitwise ATAU Operasi 15 dan 27
00001111
|  00011011
________
00011111  = 31 (Dalam perpuluhan)

Program Java

public class BitwiseOR {
public static void main(String[] args) {
int operand1 = 15, operand2 = 27, output = operand1 | operand2;
System.out.println(output);
}
}

Output:

Manipulasi Bit di Jawa

2.Bitwise DAN

Ini juga merupakan pengendali bitwise, yang mengambil 2 operan dan dilambangkan dengan simbol “&”. operator bitwise membandingkan bit yang sepadan bagi kedua-dua operan. Jika kedua-dua bit operan ialah 1, maka outputnya ialah 1; jika tidak, 0.

Contoh

15 = 00001111 (Dalam Perduaan)
27 = 00011011 (Dalam Perduaan)
Bitwise DAN Operasi 15 dan 27
00001111
|  00011011
________
00001011  = 11 (Dalam perpuluhan)

Program Java

public class BitwiseAND {
public static void main(String[] args) {
int operand1 = 15, operand2 = 27, output = operand1 & operand2;
System.out.println(output);
}
}

Output:

Manipulasi Bit di Jawa

3. Pelengkap Bitwise

Tidak seperti dua operator lain yang telah kita bincangkan setakat ini, ini hanya memerlukan satu operan dan menandakan simbol "~". Operator ini menyongsangkan bit operan. Jika bit operan ialah 0, maka ia menukarkannya kepada 1 dan begitu juga sebaliknya.

Contoh

15 = 00001111 (Dalam Perduaan)
Pelengkap Bitwise Operasi 15
~ 00001111
________
11110000  = 240 (Dalam perpuluhan)

Program Java

public class BitwiseComplement {
public static void main(String[] args) {
int operand= 15, output;
output= ~operand;
System.out.println(output);
}
}

Output:

Manipulasi Bit di Jawa

Nota: Apabila anda menjalankan program Java, anda akan mendapat -16 sebagai output dan bukannya 240 kerana pengkompil menunjukkan pelengkap 2 nombor itu, iaitu tanggapan negatif nombor perduaan.
Pelengkap 2 bagi sebarang nombor adalah bersamaan dengan -(n+1), dengan n ialah nombor yang pelengkap 2nya hendak dikira. Dalam kes kami, pelengkap 2 bagi operan 15 ialah -16, yang merupakan output program.

4. Bitwise XOR

Bitwise XOR ialah operator binari yang mengambil 2 operan dan menandakan dengan simbol "^". operator ini membandingkan bit yang sepadan bagi kedua-dua operan jika bit yang sepadan bagi kedua-dua operan adalah berbeza yang ia memberikan 1 sebagai output yang lain 0.

Pengendali XOR Bitwise adalah bersamaan dengan (Bitwise OR + Bitwise Complement)

Contoh

15 = 00001111 (Dalam Perduaan)
27 = 00011011 (Dalam Perduaan)
Operasi XOR Bitwise 15 dan 27
00001111
^ 00011011
________
00010100  = 20 (Dalam perpuluhan)

Program Java

public class BitwiseXor {
public static void main(String[] args) {
int operand1= 15, operand2 = 27, output;
output = operand1 ^ operand2;
System.out.println(output);
}
}

Output:

Manipulasi Bit di Jawa

5. Ditandatangani Shift Kiri

Pengendali anjakan bitwise ke kiri mengalihkan corak bit ke kiri dengan bilangan kali tertentu yang dinyatakan dalam operan. Operator syif kiri dilambangkan dengan simbol “<<”.

Contoh

123 (Dalam binari: 01111011)
123 << 1 dinilai kepada 246 (Dalam binari: 011110110)
123 << 2 menilai kepada 492 (Dalam binari: 0111101100)
123 << 3 dinilai kepada 984  (Dalam binari:01111011000)

Program Java

public class LeftShiftOperator {
public static void main(String[] args) {
int operand = 123;
System.out.println(operand << 1);
System.out.println(operand << 2);
System.out.println(operand << 3);
}
}

output:

Manipulasi Bit di Jawa

6. Ditandatangani Shift Kanan

Operator anjakan kanan yang ditandatangani berfungsi sama seperti operator anjakan kiri, cuma ia menambah bit sifar dialihkan ke kedudukan tertib tinggi.

Contoh

123 (Dalam binari: 01111011)
123 >> 1 menilai kepada 61 (Dalam binari: 00111101)
123 >> 2 menilai kepada 30 (Dalam binari: 00011110)
123 >> 3 dinilai kepada 15  (Dalam binari:00001111)

Program Java

public class RightShiftOperator {
public static void main(String[] args) {
int operand = 123;
System.out.println(operand >> 1);
System.out.println(operand >> 2);
System.out.println(operand >> 3);
}
}

Output:

Manipulasi Bit di Jawa

7. Anjakan Kanan Tidak Ditandatangani

Pengendali anjakan kanan menganjak sifar ke kedudukan paling kiri dengan bilangan bit tertentu yang dinyatakan dalam operan.

Program Java

public class UnSignedRightShiftOperator {
public static void main(String[] args) {
int operand = 123;
System.out.println(operand >>> 1);
System.out.println(operand >>> 2);
System.out.println(operand >>> 3);
}
}

Output:

Manipulasi Bit di Jawa

Kesimpulan – Manipulasi Bit dalam Java

Sekarang kita telah sampai ke penghujung artikel, mari kita akhiri dengan meringkaskan perkara utama yang telah kita bincangkan dalam artikel ini. Kami telah melihat apa itu sedikit manipulasi dan kes penggunaannya yang berbeza. Kami juga telah mempelajari pelbagai jenis pengendali bitwise (Bitwise AND, Bitwise OR, Bitwise Complement dan Bitwise XOR) dan operator anjakan bit (Pengendali Anjakan Kiri yang Ditandatangani, Operator Anjakan Kanan yang ditandatangani dan operator anjakan Kanan yang tidak ditandatangani) bersama-sama dengan contoh dan sampel Program Java menerangkan operator individu.

Atas ialah kandungan terperinci Manipulasi Bit di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn