^ (bitwise xor)



Açıklama

C ++ 'da, bitsel XOR olarak da bilinen bitwise EXCLUSIVE OR adı verilen biraz alışılmadık bir operatör var. (İngilizce'de bu genellikle "eks- veya" olarak telaffuz edilir.) Bitsel XOR işleci, düzeltme işareti simgesi ^ kullanılarak yazılır. Bitsel bir XOR işlemi, yalnızca giriş bitleri farklıysa 1 ile sonuçlanır, aksi takdirde 0 ile sonuçlanır.

Tam,

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

Örnek Kod

int x = 12;     // binary: 1100
int y = 10;     // binary: 1010
int z = x ^ y;  // binary: 0110, or decimal 6

Örnek Kod

 int x = 12; // binary: 1100 int y = 10; // binary: 1010 int z = x ^ y; // binary: 0110, or decimal 6 

^ İşleci genellikle 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. Bir bitsel XOR işleminde, maske bitinde 1 varsa, bu bit ters çevrilir; 0 varsa, bit ters çevrilmez ve aynı kalır.

 // Note: This code uses registers specific to AVR microcontrollers (Uno, Nano, Leonardo, Mega, etc.) // it will not compile for other architectures void setup() { DDRB = DDRB | B00100000; // set PB5 (pin 13 on Uno/Nano, pin 9 on Leonardo/Micro, pin 11 on Mega) as OUTPUT Serial.begin(9600); } void loop() { PORTB = PORTB ^ B00100000; // invert PB5, leave others untouched delay(100); } 

Ayrıca Bakınız