Operasi bit maksudnya adalah operasi matematika yang dilakukan pada level bit atau biner. jenis-jenisnya ada : >> (shift right), << (shift left), & (AND), | (OR), ^ (XOR atau exclusive OR) dan ~ (NOT). Pertama yang akan di bahas adalah >> dan <<.
untuk mempermudah memahami bisa kita ambil contoh (dalam contoh ini adalah char atau 8 bit) :
1 << 2
00000001
00000100 atau 4 dalam desimal
Ambil contoh angka lain semisal 5 dalam biner :
00000101
Digeser ke kiri 3x (5 << 3) maka hasilnya adalah :
10100000 atau 160 (unsigned) atau -96 (signed)
Untuk >> jika memakai angka contoh yang tadi pertama (5 >> 3) maka hasilnya adalah :
00000000 atau 0
Selebihnya >> dan << sama saja, yang membedakan hanya arah geser bitnya.Selanjutnya untuk & (AND), | (OR). Pertama-tama rule dari & :
bit 1 bit 2 hasil
1 0 0
1 1 1
0 0 0
Jadi sebagai contoh operasi (5 & 3) hasilnya adalah (sekali lagi memakai char atau 8 bit) :
00000101 5
00000011 3
----------------------
00000001 1
& (AND) biasanya digunakan untuk mengecek flag. Untuk | (OR) rulenya adalah :
bit 1 bit2 hasil
1 0 1
1 1 1
0 0 0
Jadi dengan angka yang sama dengan yang tadi (5 | 3) hasilnya adalah :
00000101 5
00000011 3
----------------------
00000111 7
Selanjutnya ^ (XOR), rulenya adalah :
bit1 bit2 hasil
1 0 1
1 1 0
0 0 0
Jadi, untuk contoh (5 ^ 3) hasilnya adalah :
00000101 5
00000011 3
----------------------
00000110 6
Untuk ~ (NOT) dia sedikit spesial. Dia tidak membutuhkan bilangan pasangan karena NOT hanya menegasi, jadi biner yang tadinya biner 1 jadi dan 0 dan sebaliknya. Untuk mempermudah pemahaman sebagai contoh (~5) :
00000101 5
--------------- ~
11111010 250 (unsigned)
Untuk operasi yang lebih rumit misal (~5 >> 3) maka hasilnya :
00000101 5
--------------- ~
11111010 250 (unsigned)
11111010 250
---------------- >> 3
00011111 31
Komentar
Posting Komentar