&=

[Bileşik Operatörler]

Açıklama

Bileşik bitsel AND operatörü &= genellikle bir değişkendeki belirli bitleri DÜŞÜK duruma (0'a) zorlamak için bir değişken ve bir sabitle birlikte kullanılır. Bu genellikle programlama kılavuzlarında "temizleme" veya "sıfırlama" bitleri olarak adlandırılır.

Bitwise AND & operatörünün bir incelemesi:

                    
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ç
                    

Sözdizimi

                    
x &= y; // x = x & y'ye eşdeğer;
                    

Parametreler

x: değişken. İzin verilen veri türleri: char, int, long.
y: değişken veya sabit. İzin verilen veri türleri: char, int, long.

Örnek Kod

0 ile "bitsel AND'lenmiş" bitler 0 olarak temizlenir, bu nedenle myByte bir bayt değişkeniyse,


myByte & 0b00000000 = 0;

                    

1 ile "bitsel AND'lenmiş" bitler değişmez, bu nedenle,

myByte & 0b11111111 = myByte;

Notlar ve Uyarılar

Bitsel operatörde bitlerle uğraştığımız için - ikili biçimlendiriciyi sabitlerle kullanmak uygundur. Rakamlar diğer temsillerde hala aynı değerdedir, anlaşılması o kadar kolay değildir. Ayrıca, netlik için 0b00000000 gösterilir, ancak herhangi bir sayı biçiminde sıfır sıfırdır (hmmm orada felsefi bir şey mi var?)

Sonuç olarak - bir değişkenin 0 ve 1 bitlerini temizlemek (sıfıra ayarlamak) için, değişkenin geri kalanını değişmeden bırakırken, 0b11111100 sabitiyle bileşik bitsel AND operatörünü (&=) kullanın

                    
1  0  1  0  1  0  1  0    variable
1  1  1  1  1  1  0  0    mask
----------------------
1  0  1  0  1  0  0  0
                    
                    
                        bit değişmedi
                        bitler temizlendi
                        
                

Değişkenin bitlerinin x sembolü ile değiştirildiği aynı gösterim burada

                    

                    
x  x  x  x  x  x  x  x    variable
1  1  1  1  1  1  0  0    mask
----------------------
x  x  x  x  x  x  0  0

                    
                        bit değişmedi
                        bitler temizlendi
                     
                

Yani;

                    
myByte = 0b10101010;
myByte &= 0b11111100;  // sonuç 0b10101000
                    

Ayrıca Bakınız

LANGUAGE & Bitsel VE