Apa Sih Itu Operator bitwise di dalam C# ?
Operator Bitwise
Operator bitwise adalah operator yang digunakan untuk melakukan operasi logika terhadap bilangan bulat dan proses pergeseran bit. Saat operasi ini berlangsung, operand yang berupa bilangan bulat akan dikonversi ke dalam bentuk bilangan biner (basis 2) terlebih dahulu, dan operasinya dilakukan bit-demi-bit (bit = binary digit atau digit biner). Selanjutnya hasilnya akan dikonversi kembali ke dalam bentuk bilangan decimal (basis 10).
Dalam bilangan biner masing-masing bit hanya bernilai 0 atau 1. Bilangan 0 merepresentasikan nilai false dan 1 merepresentasikan nilai true. Anda juga perlu mengetahui bahwa 1 byte sama dengan 8 bit dan masing-masing bit ditandai dengan satu kotak. Sebagai contoh, nilai 16 dalam bentuk desimal apabila dikonversi ke dalam bentuk biner maka hasilnya adalah 0001 0000.
![]() |
Gambar 1.1 Konversi nilai desimal 16 ke biner. |
Nilai 16 berasal dari 2⁴. Bit-bit lain dengan nilai 0 tidak disertakan dalam proses perhitungan. Nilai 12 dalam bentuk desimal ketika dikonversi ke dalam bentuk biner maka hasilnya adalah 00001100.
![]() |
Gambar 1.2 Konversi nilai desimal 12 ke biner. |
Nilai 12 berasal dari 2³ + 2². Pada nilai 12 pun sama, bit-bit lain dengan nilai 0 tidak disertakan dalam proses perhitungan. Tabel di bawah ini menunjukan daftar operator bitwise yang terdapat dalam C#.
![]() |
Gambar 1.3 Tabel operator bitwise. |
Cara kerja dari operasi logika bitwise (&,|,^, dan ~) adalah sebagai berikut. Mula-mula nilai 12 dan 10 akan dikonversi ke dalam bentuk biner menjadi 00001100 dan 00001010. Setelah itu, operasi logikanya akan dilakukan untuk masing-masing bit. Pada gambar dibawah ini akan mengilustrasikan cara kerja operasi bitwise yang terdapat pada contoh di atas.
![]() |
Gambar 1.4 Cara kerja operator bitwise. |
Untuk membuktikan konsep di atas, Anda dapat mengeksekusi kode program di bawah ini.
PROGRAM 1.1
using System; namespace LetsCoding{ class Program{ public static void Main(string[] args){ byte a = 12; byte b = 10; Console.WriteLine(“a \t = ” + a); Console.WriteLine(“b \t = “ + b); Console.WriteLine(“a & b \t = ” + (a & b)); Console.WriteLine(“a | b \t = “ + (a|b)); Console.WriteLine(“a ^ b \t = “ + (a^b)); Console.WriteLine(“~a \t = “ + (~a)); Console.ReadLine(); } } }
Berikut ini hasil yang akan diberikan oleh kode program di atas.
![]() |
Gambar 1.7 Tampila hasil program 1.1 |
Untuk melakukan operasi pergeseran bit dari suatu bilangan bulat, kita perlu menggunakan operator >> (shift right) dan << (shift left). Perbedaan antara kedua operator tersebut terletak pada arah pergeserannya. Operator >> digunakan untuk menggeser bit ke arah kanan, sedangkan operator << ke arah kiri.
Perhatikan contoh potongan kode berikut:
![]() |
Gambar 1.8 contoh operasi pergeseran bit. |
Baris pertama pada kode di atas akan menggeser 00001100 (12 dalam bentuk bilangan biner) ke arah kanan sebanyak 2 bit. Dengan demikian, hasil operasinya adalah 00000011 (nilai desimal 3 dalam bentuk bilangan biner). Sedangkan pada baris kedua akan menggeser 00001100 ke arah kiri sebanyak 2 bit sehingga akan menghasilkan 00110000 (nilai desimal 48 dalam bentuk bilangan biner).
Berikut ini adalah kode program yang akan menunjukan cara kerja operator >> dan <<.
PROGRAM 1.2
using System; namespace LetsCoding { class Program { public static void Main(string[] args) { byte x = 12; Console.WriteLine("12 >> 1 \t= " + (x >> 1)); Console.WriteLine("12 >> 2 \t= " + (x >> 2)); Console.WriteLine("12 << 1 \t= " + (x << 1)); Console.WriteLine("12 << 2 \t= " + (x << 2)); Console.ReadLine(); } } }
Berikut ini adalah tampilan hasil kode program di atas.
![]() |
Gambar 1.9 Tampilan hasil dari kode program 1.2 |
Jika ada beberapa materi pada postingan di atas yang belum dapat Anda pahami, Anda dapat meninggalkan komentar seputar materi tersebut pada kolom komentar di bawah.
C# (dibaca: C Sharp) merupakan bahasa pemrograman generasi baru yang mewah, kaya akan fitur, dan dapat digunakan untuk membuat beraneka raga program/aplikasi di berbagai bidang. C# mendukung beberapa paradigma pemrograman: imperatif, deklaratif, fungsional, serta pemrograman berorientasi objek. C# termasuk dalam keluarga C, dan fitur-fiturnya banyak diadopsi dari Java dan C++. C# menggunakan pustaka (library) yang terdapat dalam .NET Framework, kelengkapan di dalam pustaka .NET Framework menjadikan proses pengembangan program/aplikasi menggunakan C# relatif lebih mudah dan cepat jika dibandingkan dengan C++ dan Java.
Leave a Comment