Operator Bitwise C
Operator bitwise melakukan operasi bitwise-AND (&
), bitwise-exclusive-OR (^
), dan bitwise-inclusive-OR (|
).
Sintaks
AND-expression
:
equality-expression
AND-expression
&
equality-expression
exclusive-OR-expression
:
AND-expression
exclusive-OR-expression
^
AND-expression
inclusive-OR-expression
:
exclusive-OR-expression
inclusive-OR-expression
|
exclusive-OR-expression
Operan operator bitwise harus memiliki jenis integral, tetapi jenisnya bisa berbeda. Operator ini melakukan konversi aritmatika biasa; jenis hasil adalah jenis operan setelah konversi.
Operator bitwise C dijelaskan di bawah ini:
Operator | Deskripsi |
---|---|
& |
Operator bitwise-AND membandingkan setiap bit dari operand pertama dengan bit yang sesuai dari operand kedua. Jika kedua bit adalah 1, bit hasil yang sesuai diatur ke 1. Jika tidak, bit hasil yang sesuai diatur ke 0. |
^ |
Operator bitwise-exclusive-OR membandingkan setiap bit dari operand pertama dengan bit yang sesuai dari operand kedua. Jika satu bit adalah 0 dan bit lainnya adalah 1, bit hasil yang sesuai diatur ke 1. Jika tidak, bit hasil yang sesuai diatur ke 0. |
| |
Operator bitwise-inclusive-OR membandingkan setiap bit operand pertamanya dengan bit yang sesuai dari operand keduanya. Jika salah satu bit adalah 1, bit hasil yang sesuai diatur ke 1. Jika tidak, bit hasil yang sesuai diatur ke 0. |
Contoh
Deklarasi ini digunakan untuk tiga contoh berikut:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
Hasil yang ditetapkan untuk n
dalam contoh pertama ini sama dengan i
(0xAB00 heksadesimal).
n = i | j;
n = i ^ j;
OR bitwise-inklusif pada contoh kedua menghasilkan nilai 0xABCD (heksadesimal), sedangkan OR bitwise-eksklusif pada contoh ketiga menghasilkan 0xCD (heksadesimal).
Khusus Microsoft
Hasil dari operasi bitwise pada bilangan bulat yang ditandatangani adalah implementasi yang ditentukan menurut standar C. Untuk kompiler Microsoft C, operasi bitwise pada bilangan bulat yang ditandatangani bekerja sama dengan operasi bitwise pada bilangan bulat yang tidak ditandatangani. Misalnya, -16 & 99
dapat dinyatakan dalam biner sebagai
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Hasil bitwise AND adalah 96 desimal.
END Khusus Microsoft
Lihat juga
Operator Bitwise AND: &
Operator Bitwise Eksklusif OR: ^
Operator Bitwise Inklusif OR: |