& (bitwise and)



Açıklama

C ++ 'da bitsel AND operatörü, diğer iki tamsayı ifadesi arasında kullanılan tek bir " & . Bitsel AND, çevredeki ifadelerin her bit konumunda bağımsız olarak, bu kurala göre çalışır: her iki giriş biti 1 ise, elde edilen çıkış 1'dir, aksi takdirde çıkış 0'dır.

Bunu ifade etmenin başka bir yolu:

 0 0 1 1 işlenen1
0 1 0 1 işlenen2
----------
0 0 0 1 (operand1 ve operand2) - döndürülen sonuç 

Arduino'da, int türü 16 bitlik bir değerdir, bu nedenle iki int ifadesi arasında ve arasında kullanılması 16 eşzamanlı AND işleminin gerçekleşmesine neden olur.

Örnek Kod

Aşağıdaki gibi bir kod parçasında:

int a =  92;    // in binary: 0000000001011100
int b = 101;    // in binary: 0000000001100101
int c = a & b;  // result:    0000000001000100, or 68 in decimal.

Arduino'da, int türü 16 bitlik bir değerdir, bu nedenle iki int ifadesi arasında ve arasında kullanılması 16 eşzamanlı AND işleminin gerçekleşmesine neden olur.

Örnek Kod

Aşağıdaki gibi bir kod parçasında:

 int a = 92; // in binary: 0000000001011100 int b = 101; // in binary: 0000000001100101 int c = a & b; // result: 0000000001000100, or 68 in decimal. 

A ve b'deki 16 bitin her biri bitsel AND kullanılarak işlenir ve sonuçta elde edilen 16 bitin tamamı c'de saklanır ve sonuç olarak ikili değerde 01000100 değeri ondalık 68 olur.

Bitwise AND'in en yaygın kullanımlarından biri, genellikle maskeleme adı verilen bir tam sayı değerinden belirli bir bit (veya bit) seçmektir. Bir örnek için aşağıya bakın (AVR mimarisine özel).

 PORTD = PORTD & B00000011; // clear out bits 2 - 7, leave pins PD0 and PD1 untouched (xx & 11 == xx) 

Ayrıca Bakınız

LANGUAGE && Logical AND