&

[Bitsel Operatörler]

Açıklama

C++'daki bitsel AND operatörü, diğer iki tamsayı ifadesi arasında kullanılan tek bir & işaretidir. Bitsel AND, bu kurala göre, çevreleyen ifadelerin her bir bit konumunda bağımsız olarak çalışır: her iki giriş biti de 1 ise, elde edilen çıktı 1'dir, aksi halde çıktı 0'dır.
Bunu ifade etmenin başka bir yolu da şudur:

                        

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

Arduino'da int türü 16 bitlik bir değerdir, bu nedenle iki int ifadesi 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;    // ikili olarak: 0000000001011100
int b = 101;    // ikili olarak: 0000000001100101
int c = a & b;  // sonuç:    0000000001000100, veya ondalık olarak 68..
                

a ve b'deki 16 bitin her biri bitsel AND kullanılarak işlenir ve elde edilen 16 bitin tümü c'de depolanır, bu da ondalık olarak 68 olan ikili olarak 01000100 değeriyle sonuçlanır.

Bitsel AND'nin en yaygın kullanımlarından biri, genellikle maskeleme olarak adlandırılan bir tamsayı değerinden belirli bir biti (veya bitleri) seçmektir. Bir örnek için aşağıya bakın (AVR mimarisine özgü).

PORTD = PORTD & 0b00000011;  //2 - 7 bitlerini temizleyin, PD0 ve PD1 pinlerine dokunulmadan bırakın (xx & 11 == xx)

Ayrıca Bakınız

LANGUAGE && Mantıksal VE

MİSAL BitMath Eğitimi