Jumat, 16 Desember 2011

OPERATOR BITWISE

Operator bitwise digunakan untuk melakukan operasi binary terhadap variable maupun literal yang bertipe angka

& (dan) membandingkan dua buah rangkaian binary dan mengembalikan nilai 1 jika keduanya bernilai 1
| (atau) membandingkan dua buah rangkaian binary dan mengembalikan nilai 1 jika keduanya  bernilai 1 atau salah satu bernilai 1
^ (xor) membandingkan dua buah rangkaian binary dan mengembalikan nilai satu jika hanya salah satu bernilai 1
~ (negasi) mengubah nilai nol menjadi satu atau sebaliknya

int x  = 11;
int y  = 13;
int z = x & Y;

1011 =  8 + 0+ 2 + 1 = 11
1101 =  8 + 4 + 0 + 1 = 13
----------------------------------------------- &
 1001 = 8 + 0 + 0 + 1 = 9 // z = 9

int x = 11;
int y = 13;
int z = x | y;

1011 = 8+ 0 + 2 + 1 = 11
1101 = 8 + 4 + 0 + 1 = 13
----------------------------------------------- |
1111 = 8 + 4 + 2 + 1 = 15 // z = 14

int x = 11;
int y = 13;
int z = x ^ y;


1011 = 8+ 0 + 2 + 1 = 11
1101 = 8 + 4 + 0 + 1 = 13
---------------------------------------------- ^
0110 = 0 + 4 + 2 + 0 = 6 // z = 6

int x = 11;
int z = ~x;

ubah dalam bentuk binary, bertipe int adalah 32 bit
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
proses negasi 0 menjadi 1 , 1 menjadi 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0
langkah terakhir 2'complements kurangi 1 binary hasil terakhir
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
di balikin lagi
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 -> 12

Tidak ada komentar:

Posting Komentar