Operator Bitwise (Bitwise Operators)

Operator bitwise bekerja berdasarkan bit dari suatu bilangan. Sebelum dilakukan operasi bitwise input (yang biasanya berupa bilangan desimal) harus diubah ke bentuk biner terlebih dahulu. Kemudian hasil output yang juga dalam bentuk biner, sebelum ditampilkan akan diubah ke bentuk desimal terlebih dahulu. Sehingga meskipun operasi berjalan dalam bentuk bit, kita tidak akan melihatnya, hanya bisa melihat hasilnya.

Untuk memahami cara kerja operator bitwise, berikut ini adalah salah satu contoh kasusnya. Kita memiliki dua variable, a dan b:

a = 5
b = 9

Sebelum dilakukan operasi bitwise, maka nilai masing-masing variable akan diubah ke bentuk biner, sehingga menjadi:

a = 5 desimal = 0000 0101 biner
b = 9 desimal = 0000 1001 biner

& a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'

c = a & b
# c akan bernilai 5 = '0000 0101'

print c operator biner AND, memeriksa apakah operan di sebelah kiri dan operan sebelah kanan mempunyai angka biner 1 di setiap bit. Jika keduanya bernilai 1 maka bit hasil operasi akan bernilai 1.

| a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'

c = a | b
# c akan bernilai 45 = '0010 1101'

print c operator biner OR, memeriksa apakah operan di sebelah kiri dan operan sebelah kanan mempunyai angka biner 1 di setiap bit. Jika salah satunya bernilai 1 maka bit hasil operasi akan bernilai 1.

^ a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'

c = a ^ b
# c akan bernilai 40 = '0010 1000'

print c operator biner XOR, memeriksa apakah operan di sebelah kiri dan operan sebelah kanan mempunyai angka biner 1 di setiap bit. Jika keduanya bernilai 1 maka bit hasil operasi akan bernilai 0.Kali sama dengan = a = 2 Operator biner Negative, membalik nilai bit. Misal dari 1 menjadi 0, dari 0 menjadi 1.

~ a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101' Memberikan nilai variabel dengan nilai variabel itu sendiri dibagi dengan nilai di sebelah kanan.
<< a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
# hasil bernilai 52 = ''0011 0100'
print a << 2
# hasil bernilai 148 = '1001 0100'

print b << 2 Memberikan nilai variabel dengan nilai variabel itu sendiri dibagi dengan nilai di sebelah kanan. Yang diambil nantinya adalah sisa baginya.

a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
# hasil bernilai 3 = '0000 0011'
print a >> 2
# hasil bernilai 9 = '0000 1001'

print b >> 2 Operator penggeser biner ke kiri, deret bit akan digeser ke kiri sebanyak n kali.

results matching ""

    No results matching ""