^=

[Bileşik Operatörler]

Açıklama

Bileşik bitsel XOR operatörü ^= genellikle bir değişkendeki belirli bitleri değiştirmek (ters çevirmek) için bir değişken ve bir sabitle birlikte kullanılır.

Bitwise XOR ^ operatörünün bir incelemesi:

                    

                    
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ç

Sözdizimi

x ^= y; // eşittir  x = x ^ y;

Parametreler

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

Örnek Kod

0 ile "bitsel olarak XORed" olan bitler değişmeden bırakılır. Yani myByte bir bayt değişkeniyse,

myByte ^ 0b00000000 = myByte;

1 ile "bitsel XORed" olan bitler şu şekilde değiştirilir:

myByte ^ 0b11111111 = ~myByte;

Notlar ve Uyarılar

Bitsel bir 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.Bitsel bir 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.

Sonuç olarak - bir değişkenin 0 ve 1 bitlerini değiştirmek için, değişkenin geri kalanını değişmeden bırakırken, 0b00000011 sabitiyle bileşik bitsel XOR operatörünü (^=) kullanın

                    

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

bit değişmedi
                 bitler değiştirildi

Burada x sembolü ile değiştirilen değişken bitleri ile aynı gösterim. ~x, x'in tümleyenini temsil eder.

                    

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

bit değişmedi
                bit seti

Yani:

myByte = 0b10101010;
myByte ^= 0b00000011 == 0b10101001;

Ayrıca Bakınız

LANGUAGE ^ Bitwise XOR