Apa itu operator bit?

Operator bitwise digunakan untuk melakukan operasi Boolean terhadap dua buah operand bertipe integer. Operasi ini dilakukan bit demi bit.

Operator bitwise adalah operasi matematika yang mengoprasikan suatu nilai dalam bilangan biner. Operator bitwise bekerja dengan mengubah bilangan desimal menjadi bilangan biner, setelah itu akan melakukan operasi berdasarkan operator bitwise yang digunakan dan pada akhirnya nilai tersebut akan diubah menjadi bilangan desimal kembali.

Sebagai catatan bahwa operator bitwise ini hanya dapat dilakukan pada operand yang bertipe char dan int saja karena hal ini berkoresponden dengan tipe byte atau word di dalam bit. adapun yang termasuk dalam operator bitwise dalam C++ adalah seperti yang tampak pada tabel dibawah ini:

Operator Jenis Operasi Contoh
OR 1 0 = 1
& AND 1 & 0 = 0
^ Exclusive OR (XOR) 1 ^ 1 = 0
~ NOT ~ 1 = 0

Shift Right 16 >> 2 = 4
<< Shift Left 1 << 2 = 4

Fungsi dari operator &, | dan ~ diatas adalah sama dengan operator &&, || dan ! pada operator logika, perbedaanya hanya operator-operator bitwise ini bekerja bit demi bit, sedangkan pada operator logika bekerja untuk setiap nilai.

6 Macam Operator Bitwise

1. Operator Bitwise | (OR)

Operator Bitwise OR dilambangkan dengan menggunakan simbol “|”, Operator ini digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar seandainya salah satu operand yang digabungkan ada yang bernilai benar (1), artinya operator Bitwise OR hanya akan menghasilkan nilai salah (0) jika semua operand nya bernilai salah. Berikut ilustrasi untuk membandingkan bit dari 2 operand dengan operator Bitwise OR, yang kami sajikan dalam bentuk tabel Operator Bitwise | (OR).
image
Operator Bitwise Shift Left dilambangkan dengan menggunakan simbol “<<”, Operator ini digunakan untuk menggeser sejumlah bit ke kiri / melakukan perpindahan bit ke arah kiri, adapun bentuk umum dari penggunaan operator ini dapat dituliskan sebagai berikut:

nilai << banyaknya_pergeseran_bit_ke_arah_kiri;

Kebalikan dari operator Shift Right yang membagi nilai dengan 2, pada operator Shift Left justru akan mengalikan dengan 2. Misalnya 1 << 1 akan menghasilkan 2. Sedangkan jika 2 << 2 maka nilai yang dihasilkan adalah 8.

2. Operator Bitwise & (AND)

Operator Bitwise AND dilambangkan dengan menggunakan simbol “&”, Operator ini digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar seandainya semua operand yang digabungkan bernilai benar (1), artinya operator Bitwise AND akan menghasilkan nilai salah (0) jika salah satu operand nya bernilai salah. Berikut ilustrasi untuk membandingkan bit dari 2 operand dengan operator Bitwise AND, yang kami sajikan dalam bentuk tabel Operator Bitwise & (AND).
image
3. Operator Bitwise ^ (Exclusive OR / XOR)

Operator Bitwise Exclusive OR dilambangkan dengan menggunakan simbol “^”, Operator ini digunakan untuk melakukan operasi Exclusive OR (XOR). Adapun hasil dari operasi ini akan bernilai 1 (benar) jika salah satu operand nya (bukan keduanya) bernilai benar, selain itu akan menghasilkan nilai 0 (salah). Dengan demikian, jika kedua operand-nya bernilai 1 (benar), maka hasil dari opersi ini adalah 0 (salah). Berikut ilustrasi untuk membandingkan bit dari 2 operand dengan operator Bitwise Exclusive OR, yang kami sajikan dalam bentuk tabel Operator Bitwise ^ (Exclusive OR).
image
4. Operator Bitwise ~ (NOT)

Operator Bitwise NOT dilambangkan dengan menggunakan simbol “~”, Operator ini digunakan untuk membalik nilai bit dari suatu operand. Berikut ilustrasi penggunaan Operator Bitwise NOT, yang kami sajikan dalam bentuk tabel Operator Bitwise ~ (NOT).
image
5. Operator Bitwise >> (Shift Right)

Operator Bitwise Shift Right dilambangkan dengan menggunakan simbol “>>”, Operator ini digunakan untuk menggeser sejumlah bit ke kanan / melakukan perpindahan bit ke arah kanan, adapun bentuk umum dari penggunaan operator ini dapat dituliskan sebagai berikut:

nilai >> banyaknya_pergeseran_bit_ke_arah_kanan;

Untuk lebih memudahkan sobat dalam memahami penggunaannya, ingatlah bahwa setiap pergeseran satu bit, operator ini akan membagi suatu nilai dengan 2. Sebagai contoh, jika kita melakukan operasi 16 >> 1, maka hasilnya adalah 8, sedangkan jika 16 >> 2, maka hasilnya adalah 4. Namu jika kita melakukan operasi 201 >> 1, maka hasilnya adalah 100 bukan 100,5 karena dibulatkan ke bawah menjadi bilangan desimal.

6. Operator Bitwise << (Shift Left)

Operator Bitwise Shift Left dilambangkan dengan menggunakan simbol “<<”, Operator ini digunakan untuk menggeser sejumlah bit ke kiri / melakukan perpindahan bit ke arah kiri, adapun bentuk umum dari penggunaan operator ini dapat dituliskan sebagai berikut:

nilai << banyaknya_pergeseran_bit_ke_arah_kiri;

Kebalikan dari operator Shift Right yang membagi nilai dengan 2, pada operator Shift Left justru akan mengalikan dengan 2. Misalnya 1 << 1 akan menghasilkan 2. Sedangkan jika 2 << 2 maka nilai yang dihasilkan adalah 8.