Memahami Operasi Bitwise
Dalam pengaturcaraan, operasi bitwise memanipulasi nilai berbilang bit satu bit pada satu masa. Tidak seperti operator aritmetik, yang melakukan pengiraan matematik, operator bitwise memfokuskan pada bit individu dalam nilai.
Jenis Operator Bitwise
-
Bitwise DAN (&): Output 1 hanya jika kedua-dua bit input adalah 1, jika tidak 0.
-
Bitwise OR (|): Output 1 jika satu atau kedua-dua bit input ialah 1, jika tidak ia 0.
-
Bitwise XOR (^): Output 1 hanya jika betul-betul satu bit input ialah 1, jika tidak 0.
-
Bitwise NOT (~): Output 1 hanya jika bit inputnya ialah 0, jika tidak ia 0.
Operator Shift
Dalam Python, >> dan << biasanya digunakan dalam operasi bitwise.
- Anjakan Kiri (<<): Mengalihkan bit ke kiri mengikut bilangan kedudukan yang ditentukan.
- Anjakan Kanan (>>): Mengalihkan bit ke kanan dengan bilangan kedudukan yang ditentukan.
Penggunaan Praktikal Operator Bitwise
-
Menapis Data: Dengan menggunakan & dengan topeng, anda boleh menapis secara selektif bit tertentu daripada sesuatu nilai.
-
Pembungkusan Bit: Menggabungkan berbilang nilai kecil kepada nilai yang lebih besar dengan menggunakan << dan |.
-
Memanipulasi Bendera: Menyemak dan menetapkan bendera individu dalam daftar status.
-
Operasi Aritmetik: Operator bitwise boleh digunakan untuk tertentu operasi aritmetik, seperti eksponen (menggunakan berulang beralih).
Contoh
Pertimbangkan kod Python:
x = 1 # 0001
x << 2 # Shift left 2 bits: 0100
# Result: 4
x | 2 # Bitwise OR: 0011
# Result: 3
x & 1 # Bitwise AND: 0001
# Result: 1
Salin selepas log masuk
- Anjakan Kiri (<< 2): Mengalihkan bit x ke kiri sebanyak 2 kedudukan, menghasilkan nilai 4.
- Bitwise ATAU (| 2): Menggabungkan bit x dengan 2, menghasilkan nilai 3.
- Bitwise AND (& 1): Menyemak sama ada bit x bererti terkecil ialah 1, yang mana ia, terhasil dalam nilai 1.
Atas ialah kandungan terperinci Bagaimanakah Pengendali Bitwise Berfungsi dan Apakah Aplikasi Praktikal Mereka dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!