Operator Bitwise
Pengertian Operator Bitwise
Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner dalam bentuk bit.
Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner, akan dikonversi secara otomatis menjadi bilangan biner. Misalnya 7 desimal = 0111 dalam bilangan biner.
Pada penerapannya, operator bitwise tidak terlalu sering dipakai, Kecuali anda sedang membuat program yang harus memproses bit-bit komputer. Selain itu operator ini cukup rumit dan harus memiliki pemahaman tentang sistem bilangan biner.
Bahasa Python mendukung 6 jenis Operator Bitwise:
Contoh:
Z = 10 (desimal) = 1010 (biner)
X = 12 (desimal) = 1100 (biner)
Di baris ke-4 dan ke-5 saya menggunakan function bawaan Python, yakni bin(), Ini bisa dipakai untuk menampilkan versi biner dari sebuah angka desimal. Awalan 0b merupakan penanda bahwa ini adalah angka biner. Artinya angka 0b1010 adalah 1010 dalam bilangan biner.
Operator bitwise pertama adalah operasi & (And) terhadap kedua variable. Operasi bitwise "And" ini akan memproses bit per bit dari kedua variable, Jika kedua bit sama -sama 1, Maka hasilnya juga 1, Selain kondisi tersebut, nilai akhirnya adalah 0. Berikut pehitungan bitwise "and":
Z = 1010
X = 1100
--------
Z & X = 1000 = 8 (desimal)
Dan dari hasil print, terlihat bahwa hasilnya adalah 10 (dalam bentuk desimal).
Operator bitwise kedua adalah proses | (Or), hasilnya akan bernilai 0 jika kedua bit bernilai 0, Selain itu nilai bit akan di set menjadi 1. Berikut cara perhitungan bitwise "or":
Z = 1010
X = 1100
--------
Z | X = 1110 = 14 (desimal)
Operator bitwise ketiga adalah ^ (Xor), hasilnya akan bernilai 1 jika salah satu dari kedua variable bernilai 1 (namun tidak keduannya). Atau dengan kata lain jika kedua bit berlebihan, hasilnya 1 tapi kalau sama-sama 0 atau sama-sama 1, hasilnya 0. Berikut cara perhitungan bitwise "Xor":
Z = 1010
X = 1100
---------
Z ^ X = 0110 = 6 (desimal)
Selanjutnya ada ~ (not), yang akan membalikkan nilai bit sebuah variable dari 0 menjadi 1 dan sebaliknya. Namun perhitungan bit not ini sedikit membingungkan karena jika kita hanya membalikkan seluruh bit saja, Hasilnya tidak tidak sesuai dengan apa yang dihitung Python:
Z = 1010
---------------
~Z = 0101 = 5 (desimal) --> Salah
Dari hasil menjalankan program, dapat dilihat bahwa ~Z = -11,Dari manakan datangnya angka -11?
Ini berkaitan dengan cara bahasa Python menyimpan angka biner (dan juga hampir semua bahasa pemrograman komputer modern). Angka biner di dalam bahasa Python disimpan dalam format "Two's Complement". Penjelasan tentang "Two's Complement" ini cukup panjang , Jika tertarik kunjungi Two's Complement Wikipedia.
Secara singkat, Rumusnya adalah -Z - 1, sehingga ~Z = -10 - 1 = -11 (desimal)
Di baris ke-13 ada Operator << (Shift Left) dimana nilai variable Z akan digeser sebanyak 1 digit ke kali. Berikut proses yang terjadi:
Z = 1010 = 10
Z << 1 = 10100 = 20 (desimal)
Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variable Z berisi desimal 10, maka hasil dari << 1 sama dengan 10 * 2 = 20.
Di baris ke-14 ada Operator >> (Shift Right) dimana bahasa Python akan menggeser posisi bit dalam variable Z ke kanan sebanyak 1 tempat. Berikut proses yang terjadi:
Z = 1010 = 10
Z >> 1 = 101 = 5 (desimal)
Operator shift right menggeser nilai biner variable Z ke arah kanan, Sehingga digit paling kanan akan dihapus. Operator shift right ini akan menghasilkan nilai asal / 2. Dalam contoh kita, Hasilnya adalah 10/2 = 5 (Dibulatkan).
Untuk Lebih Jelasnya Kunjugi Aja YouTube Channel Kelas Terbuka:

.png)
.png)
.png)
Komentar
Posting Komentar