^

[Bitsel Operatörler]

Açıklama

C++'da, bitsel XOR olarak da bilinen, bitsel EXCLUSIVE OR adlı biraz alışılmadık bir operatör vardır. (İngilizce'de bu genellikle "eks-veya" olarak telaffuz edilir.) Bitsel XOR operatörü, şapka sembolü ^ kullanılarak yazılır. Bit düzeyinde bir XOR işlemi, yalnızca giriş bitleri farklıysa 1 ile sonuçlanır, aksi takdirde 0 ile sonuçlanır.
Tamamiyle,

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

Örnek Kod

                    
int x = 12;     // binary: 1100
int y = 10;     // binary: 1010
int z = x ^ y;  // binary: 0110, veya ondalık 6                       
                    

^ operatörü genellikle bir tamsayı ifadesindeki bazı bitleri değiştirmek (yani 0'dan 1'e veya 1'den 0'a değiştirmek) için kullanılır. Bitsel XOR işleminde mask bitinde 1 varsa, bu bit ters çevrilir; 0 varsa, bit ters çevrilmez ve aynı kalır.

                    
// Not: Bu kod, AVR mikro denetleyicilerine özgü kayıtları kullanır. (Uno, Nano, Leonardo, Mega, etc.)
// diğer mimariler için derlenmeyecek
void setup() {
DDRB = DDRB | 0b00100000;  //PB5'i (Uno/Nano'da pim 13, Leonardo/Micro'da pim 9, Mega'da pim 11) OUTPUT olarak ayarlayın
Serial.begin(9600);
  }
                        
void loop() {
PORTB = PORTB ^ 0b00100000;  //PB5'i ters çevirin, diğerlerine dokunmadan bırakın
delay(100);
}
                    

Ayrıca Bakınız

MİSAL BitMath Eğitimi