C# XOR оператор

C Xor Operator



Операторът XOR (изключително ИЛИ) е двоичен оператор, който работи с два операнда и дава истина само ако и когато точно един от тях се изчисли като истина. Освен това се връща false. Вашите таланти като програмист на C# могат да бъдат значително увеличени чрез разбиране и използване на оператора XOR, независимо дали става дума за логическо вземане на решения или манипулиране на данни. В тази статия ще обсъдим употребата му в C# с помощта на някои кодови фрагменти.

Пример 1:

Нека преминем през програма на C#, която демонстрира използването на оператора XOR (^), за да се определи здравословността на храната въз основа на това дали е вегетарианска или съдържа месо. Първият ред „с помощта на System;“ е декларация на пространство от имена, която позволява на програмата да осъществява достъп до класовете и функциите, които са дефинирани в пространството от имена „System“, което съдържа основните типове и основната функционалност на C#. Кодът дефинира публичен клас, наречен „Dummy“.

Ключовата дума public указва, че класът може да бъде достъпен от други части на програмата. Вътре в класа „Dummy“ има статичен метод, наречен „Main“. Методът „Main“ приема масив от низове (string[] args) като параметър, който позволява предаване на аргументите от командния ред към програмата.







В рамките на метода „Main“ се декларират и инициализират три булеви променливи: „isVeg“ е настроено на true, което показва дали храната е вегетарианска, „isMeat“ е настроено на false, което показва дали храната съдържа месо, „IsFit“ е декларирано и присвоен с резултата от операцията XOR (isVeg ^ isMeat), която определя здравословността на храната въз основа на нейния вегетариански статус и съдържание на месо.



Редът Console.WriteLine извежда резултата от проверката на изправността, като използва интерполацията на низ. Стойността на „isFit“ се показва в низа, който показва дали храната се счита за здравословна или не.



използвайки System ;

публичен клас Dummy {

публичен статичен невалиден Основен ( низ [ ] аргументи )

{

bool е Veg = вярно ;

bool isMeat = невярно ;

bool isFit = еВег ^ еМесо ;

Конзола. WriteLine ( $ „Здравословна ли е храната? : {isFit}“ ) ;

}

}

За да обобщим, този код демонстрира концепцията за булева логика в C# и как операторът XOR може да се използва за определяне на логическия XOR на две булеви променливи и за оценка на здравословността на храната въз основа на това дали е вегетарианска или включва месо.







Пример 2:

Нека демонстрираме използването на оператора XOR в C# чрез друг пример за код. Ще извършим побитова операция XOR върху две цели променливи (n1 и n2). Кодът започва с „using System;“ оператор, който импортира пространството от имена „System“, за да позволи използването на класове, които са дефинирани в пространството от имена „System“, като например класа „Console“.

Кодът дефинира клас с име „Проверка“, използвайки синтаксиса „публична проверка на класа“. Този клас съдържа един метод, който е „Mai“. Функцията main() приема масива от низове „args“ като параметър, който може да се използва за предаване на стойностите от командния ред към кодовата програма.

Вътре в метода Main() се декларират и инициализират две целочислени променливи, „n1“ и „n2“, съответно със стойности 17 и 8. Стойността „n1“ има двоично представяне 10001, което означава, че е равно на десетично число 17, а стойността „n2“ има двоично представяне 1000, което означава, че е равно на десетично число 8.

„int Res = n1 ^ n2;“ линия изчислява резултата от операцията XOR между “n1” и “n2” с помощта на оператора XOR (^). Резултатът се съхранява в променливия „Res“. Операцията XOR се прилага към двоичните представяния на „n1“ и „n2“. Той сравнява всеки съответен бит от двоичните представяния и задава получения бит на 1, ако битовете са различни, и на 0, ако битовете са еднакви.

Извършвайки операцията XOR, получаваме двоичния резултат от 11001, който е равен на десетичната 25. The Console.WriteLine($”Result: {Res}”); ред отпечатва резултата от операцията XOR на конзолата. Методът Console.WriteLine се използва за показване на низа „Резултат:“, последван от стойността на променливата „Res“. Синтаксисът {$”Result: {Res}”} се нарича интерполация на низ, което ни позволява да вградим стойността на променливата “Res” директно в низа.

използвайки System ;

публичен клас Проверка {

публичен статичен невалиден Основен ( низ [ ] аргументи )

{

вътр n1 = 17 ; // 10001

вътр n2 = 8 ; // 1000

вътр Рез = n1 ^ n2 ;

Конзола. WriteLine ( $ „Резултат: {Res}“ ) ;

}

}

Екранът на изходната конзола, който е показан на следното изображение, показва резултата „25“, който се получава от използването на операцията XOR между 17 и 8:

Пример 3:

Нека преминем към последния пример от тази статия, който определя използването на оператора XOR в C#. Следният прикачен кодов фрагмент започва с „using System;“ оператор, който импортира пространството от имена „System“.

След това се декларира публичен клас с име „Тест“. Този клас е отхвърлен като начална точка тук и също така покрива метода main(). Вътре в метода „Main()“ изпълняваме операцията XOR върху стойности на знаци. Две променливи „char“, „L1“ и „L2“, се декларират и им се присвояват съответно стойностите „M“ и „R“.

Тези променливи представляват знаците. Друга променлива „char“, наречена „Res“, се декларира и присвоява с резултата от операцията XOR между „L1“ и „L2“. Операцията XOR се изпълнява чрез оператора XOR “^”.

Тъй като операторът XOR работи върху цели числа, преобразуването (char) се използва за преобразуване на получената целочислена стойност обратно в символ. Изявлението Console.WriteLine е премахнато, за да отпечата резултата. Той използва интерполацията на низ (`$`), за да включи стойността на “Res” в изхода.

Когато програмата се изпълни, методът main() се извиква и в конзолата се показва следният изход. В този случай операцията XOR между символите 'M' и 'R' води до '?' или '.' характер. Полученият знак се отпечатва като част от изхода.

използвайки System ;

публичен клас Тест {

публичен статичен невалиден Основен ( низ [ ] аргументи )

{

въглен L1 = 'М' ;

въглен L2 = 'R' ;

въглен Рез = ( въглен ) ( L1 ^ L2 ) ;

Конзола. WriteLine ( $ „Резултат: {Res}“ ) ;

}

}

Това е подробно обяснение на предоставения по-рано код. Той демонстрира, че операторът XOR се използва за извършване на побитова операция XOR върху стойности на знаци и отпечатване на резултата, както е показано в следното прикачено изображение:

Заключение

Операторът C# XOR предоставя гъвкав инструмент за извършване на битови и логически операции. Тя ви позволява да работите с двоични битове и да изразявате уникалните условия в булевата логика. С помощта на примерите за код обсъдихме как операторът XOR може да се приложи към булеви стойности, цели числа и стойности на знаци, за да получите желания резултат. Използвайки правилно оператора XOR, можете да подобрите уменията си като C# програмист.