Apa itu Operator Bitwise?

Operator bitwise adalah karakter yang mewakili tindakan yang diambil pada data di tingkat bit, berbeda dengan byte atau unit data yang lebih besar. Secara sederhana, operator ini memungkinkan manipulasi bit individu dalam pola biner.

Operator Bitwise vs. Operator Lainnya

Sebagian besar operator bekerja dengan satu atau lebih byte, yang dalam sebagian besar sistem terdiri dari delapan bit. Contoh operator semacam ini termasuk +, -, dan *. Sebaliknya, operator bitwise dapat memeriksa dan memanipulasi setiap bit individu dalam sebuah byte, dengan setiap bit membawa nilai biner tunggal yaitu 0 atau 1. Sebuah operator bitwise mewakili tindakan atau operasi yang akan dilakukan pada bit tunggal. Contoh operator bitwise termasuk AND (&), OR (|), XOR (^) dan NOT (~).

Diagram of operands vs. operators in an equation.
Dalam matematika, operand digunakan dengan operator untuk membuat persamaan yang menghasilkan nilai berdasarkan posisi operator dan operand.

Operator bitwise bekerja dengan representasi biner dari sebuah angka, bukan nilai angka tersebut. Operand diperlakukan sebagai sekumpulan bit, bukan sebagai angka tunggal. Operasi kemudian mencocokkan bit-bit individu dari pola bit yang memiliki panjang yang sama untuk menghasilkan nilai integer.

Tidak semua bahasa pemrograman mendukung penggunaan operator bitwise; namun, C, Java, JavaScript, Python, dan Visual Basic adalah beberapa bahasa yang mendukungnya.

Ada urutan prioritas dalam operator bitwise. Dari yang tertinggi hingga terendah, prioritasnya adalah sebagai berikut:

  • Bitwise NOT.
  • Shift kiri dan shift kanan.
  • Bitwise AND.
  • Bitwise XOR.
  • Bitwise OR.

Operator bitwise mirip dalam banyak bahasa yang mendukungnya. Sebagai contoh, simbol garis vertikal (|) mewakili operator bitwise OR dalam C, C++, dan JavaScript. Demikian juga, bitwise AND adalah sebuah ampersand tunggal (&) dalam C dan C++.

Manfaat dan Penggunaan Operator Bitwise

Karena mereka memungkinkan presisi lebih besar dan memerlukan lebih sedikit sumber daya, operator bitwise dapat membuat beberapa kode lebih cepat dan lebih efisien. Selain itu, hasil yang dihasilkan oleh operasi bitwise selalu berada dalam rentang nilai yang memungkinkan untuk tipe numerik tersebut, yang mencegah masalah overflow.
Operator bitwise sangat penting untuk melakukan operasi matematika di tingkat bit di dalam unit logika aritmatika prosesor. Beberapa contoh kasus penggunaan operator bitwise termasuk enkripsi data, kompresi data, grafik, komunikasi melalui port atau soket, pemrograman sistem tertanam, dan mesin status hingga. Operator bitwise juga digunakan dalam pemrograman tingkat rendah seperti driver perangkat, untuk mengubah huruf besar-kecil teks, dan untuk mempertahankan set integer besar untuk pencarian dan optimasi.

Operator Bitwise yang Umum di JavaScript dan C++

Operator bitwise yang paling sering digunakan di JavaScript dan C++ tercantum dalam tabel berikut.

OperatorSimbolDeskripsiContoh
Bitwise AND&Mengembalikan 1 hanya jika kedua bit yang dibandingkan keduanya adalah 1.5 & 3 (Hasil: 1)
Bitwise OR``Mengembalikan 1 jika salah satu dari bit yang dibandingkan adalah 1.
Bitwise XOR^Mengembalikan 1 hanya jika kedua bit yang dibandingkan berbeda (salah satu 0, yang lainnya 1).5 ^ 3 (Hasil: 6)
Bitwise NOT~Membalikkan bit, mengubah 1 menjadi 0 dan 0 menjadi 1.~5 (Hasil: -6)
Left Shift<<Menggeser bit ke kiri, mengisi bit kosong dengan 0.5 << 1 (Hasil: 10)
Right Shift>>Menggeser bit ke kanan, mengisi bit kosong dengan bit yang ada di kiri (tergantung tanda).5 >> 1 (Hasil: 2)
Zero-fill Right Shift>>>Menggeser bit ke kanan dan mengisi bit kosong dengan 0.5 >>> 1 (Hasil: 2)

Tabel ini mencakup operator bitwise yang umum digunakan dalam bahasa pemrograman seperti C, C++, JavaScript, dan Python.

Shift kiri, shift kanan, dan shift kanan dengan pengisian nol kadang-kadang disebut sebagai operator pergeseran bit. Kedua yang pertama sebaiknya tidak digunakan untuk angka negatif karena dapat menghasilkan perilaku yang tidak terdefinisi atau tidak diinginkan dalam program. Perilaku yang tidak terdefinisi juga dapat terjadi jika angka digeser lebih banyak dari ukuran integer.

Operator Bitwise Lainnya di C++

Beberapa operator bitwise lainnya tersedia di C++ selain yang telah disebutkan di atas. Ini termasuk:

  • Operator gabungan, yang meningkatkan atau mengurangi nilai variabel.
    • Penambahan (++).
    • Pengurangan (–).
  • Operator aritmatika gabungan, yang melakukan operasi matematika pada variabel dengan konstanta atau variabel lain.
    • Penambahan gabungan (+=).
    • Pengurangan gabungan (-=).
    • Perkalian gabungan (*=).
    • Pembagian gabungan (/=).
  • Operator bitwise AND gabungan (&=), yang mengubah bit tertentu dalam variabel menjadi 0 — juga dikenal sebagai mereset bit.
  • Operator bitwise OR gabungan (|=), yang mengubah bit tertentu dalam variabel menjadi 1.

Contoh Dunia Nyata Penggunaan Operator Bitwise di JavaScript

Berikut adalah contoh yang membandingkan dua versi kode JavaScript yang digunakan untuk memetakan beberapa checkbox formulir ke satu angka.

var combo = form.elements[0].checked*(Math.pow(2,2))
+ form.elements[1].checked*(Math.pow(2,1))
+ form.elements[2].checked*(Math.pow(2,0));

Operator bitwise dapat melakukan hal yang sama, tetapi lebih efisien.

var combo = form.elements[0].checked << 2
| form.elements[1].checked << 1
| form.elements[2].checked << 0

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *