Bagikan melalui


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-expressioninclusive-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: |