Anda di halaman 1dari 13

Operator Bitwise

Dr. Mardi Hardjianto, M.Kom.


Operator Bitwise
AND (&)
Pada dasarnya operasi AND akan menghasilkan nilai 1 apabila
dalam kedua operan mengandung bit bernilai 1, sedangkan nilai
yang lain akan menghasilkan nilai 0

10 & 6 // hasilnya adalah 2


11 & 8 // hasilnya adalah 8
10  1010
6  0110
0010  2
Operator Bitwise
OR ( | )
Pada dasarnya operasi bitwise OR akan menghasilkan nilai 1
apabila salah satu dari bit operan bernilai 1 atau kedua-duanya
bernilai 1, sedangkan juga kedua-duanya bernilai 0, maka
operasi ini menghasilkan nilai 0

11 | 5 // hasilnya adalah 15
9 | 12 // hasilnya adalah 13
Operator Bitwise

XOR (^)
Pada dasarnya operasi bitwise XOR akan menghasilkan nilai 1
apabila salah satu bit operan bernilai 1. Jika kedua bit yang
dioperasikan bernilai 0 atau kedua-duanya bernilai 1 maka
operasi XOR akan menghasilkan nilai 0

12 ^ 8 // hasilnya adalah 4
12 ^ 12 // hasilnya adalah 0
14 ^ 1 // hasilnya adalah 15
Operator Bitwise
Geser Kanan (Shift Right) (>>)
Pada dasarnya operasi bitwise >>
digunakan untuk menggeser bit operan
sebanyak n-bit ke kanan.

Contoh :  20 >> 2 artinya adalah 20 : 2 : 2 = 5


0 0 0 1 0 1 0 0 = 20
0 0 0 0 1 0 1 0 = 10 Geser 1x ke kanan

0 0 0 0 0 1 0 1 =5 Geser 1x ke kanan

21 >> 2  // hasilnya adalah 5


-32 >> 3 // hasilnya adalah -4

Two Complement 2’S(32) (8-bit) = 256-32 = 224

1 1 1 1 1 1 0 0
Operator Bitwise
Contoh :  21 >> 2 artinya adalah 21 : 2 : 2 = 5
0 0 0 1 0 1 0 1 = 21

0 0 0 0 1 0 1 0 = 10 Geser 1x ke kanan

0 0 0 0 0 1 0 1 =5 Geser 1x ke kanan

Contoh :  73 >> 3 artinya adalah 73 : 2 : 2 : 2 = 9


0 1 0 0 1 0 0 1 = 73
0 0 1 0 0 1 0 0 = 36 Geser 1x ke kanan
0 0 0 1 0 0 1 0 =18 Geser 1x ke kanan
0 0 0 0 1 0 0 1 =9 Geser 1x ke kanan
Operator Bitwise 45 – 21 =24 (hex)
45 + 2’S(21)
45 + DF = 124 (hex)
-32 >> 3 // hasilnya adalah -4 Carry dibuang (1)
= 24 (hex)
-32  Two Complement(32)
Two Complement dapat ditulis dalam bentuk 2’S(32)
2’S = 1’S + 1
1’S  merubah bilangan binary dari 01 dan 10
32= 0010 0000
1’S(32)= 1101 1111  DF (Hex)
2’S(32)= 1’S(32) + 1
= DF + 1
= E0  1110 0000  2’S(32) E0(hex) =
224(des) 1 1 1 0 0 0 0 0 -32 di memori

1 = -128
1100000 = 96
1 1
 -128 1 96 0= -32
+ 0 0 0 0

1 1 1 1 0 0 0 0
1 1 1 1 1 0 0 0

1 1 1 1 1 1 0 0 -4 di memori
Operator Bitwise
-32 >> 3 // hasilnya adalah -4

-32  Two Complement(32)


Two Complement dapat ditulis dalam bentuk 2’S(32)
2’S = 1’S + 1
1’S  merubah bilangan binary dari 01 dan 10
32= 0010 0000
1’S(32)= 1101 1111  DF (Hex)
2’S(32)= 1’S + 1
= DF + 1
= E0  1110 0000  2’S(32)

19 + 1 = 20

0123456789ABCDEF
DF + 1 = E0

0011 111
DF = 1101 1111
1 = 0000 0001 +
1110 0000
E 0
Operator Bitwise
1 1 1 0 0 0 0 0

1 1 1 1 0 0 0 0
1 1 1 1 1 0 0 0

1 1 1 1 1 1 0 0 -4 di memori

1 = -128
1111100 = 124
 -128 + 124 = -4
Operator Bitwise
Geser Kiri (Shift Left) (<<)
Pada dasarnya operasi bitwise <<
digunakan untuk menggeser bit operan
sebanyak n-bit ke kiri.

Contoh :  5 << 3 artinya adalah 5 * 2 * 2 * 2 = 40


0 0 0 0 0 1 0 1 =5

0 0 0 0 1 0 1 0 = 10 Geser 1x ke kiri

0 0 0 1 0 1 0 0 = 20 Geser 1x ke kiri
0 0 1 0 1 0 0 0 = 40 Geser 1x ke kiri

16 << 2  // hasilnya adalah 64


17 << 1  // hasilnya adalah 34
-20 << 3 // hasilnya adalah -160
Operator Bitwise
Contoh :  17 << 2 artinya adalah 17 * 2 * 2 = ?
0 0 0 1 0 0 0 1 = 17

0 0 1 0 0 0 1 0 = 34 Geser 1x ke kiri

0 1 0 0 0 1 0 0 = 68 Geser 1x ke kiri

1 0 0 0 1 0 0 0 = 136 Geser 1x ke kiri

0 0 0 1 0 0 0 0 = 16 Geser 1x ke kiri

16-bit
0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0

0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
Operator Bitwise
Rotasi Kanan (Rotate Right  ROR)
Pada dasarnya operasi bitwise rotasi kanan
digunakan untuk merotasi bit operan sebanyak
n-bit ke kanan.

Contoh :  21 ROR 2 artinya (dalam 8-bit)


0 0 0 1 0 1 0 1 = 21

1 0 0 0 1 0 1 0 = 138 Rotasi 1 bit ke kanan

0 1 0 0 0 1 0 1 = 69 Rotasi 1 bit ke kanan


Operator Bitwise
Rotasi Kiri (Rotate Left  ROL)
Pada dasarnya operasi bitwise rotasi kiri
digunakan untuk merotasi bit operan
sebanyak n-bit ke kiri.

Contoh :  49 ROL 3 artinya (dalam 8-bit)

0 0 1 1 0 0 0 1 = 49

0 1 1 0 0 0 1 0 = 98

1 1 0 0 0 1 0 0 = 196

1 0 0 0 1 0 0 1 = 137

Anda mungkin juga menyukai