C# XOR-operaattori

C Xor Operaattori



XOR (exclusive OR) -operaattori on binäärioperaattori, joka toimii kahden operandin kanssa ja antaa tosi vain, jos ja kun täsmälleen yksi niistä arvioi tosi. Lisäksi false palautetaan. Kykysi C#-ohjelmoijana voi kasvaa huomattavasti ymmärtämällä ja käyttämällä XOR-operaattoria, olipa kyseessä sitten looginen päätöksenteko tai tietojen manipulointi. Tässä artikkelissa tarkastelemme sen käyttöä C#:ssa joidenkin koodinpätkien avulla.

Esimerkki 1:

Käydään läpi C#-ohjelma, joka osoittaa XOR-operaattorin (^) käytön määrittämään ruoan terveellisyyttä sen perusteella, onko se kasvissyöjä vai sisältääkö se lihaa. Ensimmäinen rivi 'käyttäen järjestelmää;' on nimitilan määritys, jonka avulla ohjelma voi käyttää luokkia ja funktioita, jotka on määritelty 'System'-nimiavaruudessa, joka sisältää C#:n perustyypit ja ydintoiminnot. Koodi määrittelee julkisen luokan nimeltä 'Dummy'.

Julkinen avainsana määrittää, että luokkaan pääsee ohjelman muista osista. 'Dummy'-luokan sisällä on staattinen menetelmä nimeltä 'Main'. 'Main'-menetelmä ottaa joukon merkkijonoja (string[] args) parametrina, joka mahdollistaa komentoriviargumenttien välittämisen ohjelmalle.







'Main'-menetelmässä kolme Boolen muuttujaa ilmoitetaan ja alustetaan: 'isVeg' on asetettu arvoon tosi, joka ilmaisee, onko ruoka kasvissyöjä, 'isMeat' on asetettu arvoon false, mikä osoittaa, sisältääkö ruoka lihaa, 'IsFit' ilmoitetaan. ja osoitetaan XOR-operaation tuloksella (isVeg ^ isMeat), joka määrittää ruuan terveellisyyden sen kasvissyöjästatuksen ja lihapitoisuuden perusteella.



Console.WriteLine-rivi tulostaa kuntotarkastuksen tuloksen merkkijonointerpolaatiolla. 'isFit'-arvo näkyy merkkijonossa, joka osoittaa, pidetäänkö ruokaa terveellisenä vai ei.



järjestelmän avulla ;

julkisen luokan nukke {

julkinen staattinen mitätön Main ( merkkijono [ ] args )

{

bool isVeg = totta ;

bool isMeat = väärä ;

bool isFit = isVeg ^ on Lihaa ;

Konsoli. WriteLine ( $ 'Onko ruoka terveellistä? : {isFit}' ) ;

}

}

Yhteenvetona voidaan todeta, että tämä koodi esittelee Boolen logiikan käsitettä C#:ssa ja kuinka XOR-operaattoria voidaan käyttää kahden Boolen muuttujan loogisen XOR:n määrittämiseen ja ruoan terveellisyyden arvioimiseen sen perusteella, onko se kasvissyöjä vai kattaako se lihan.







Esimerkki 2:

Esitetään XOR-operaattorin käyttö C#:ssa toisen koodiesimerkin avulla. Suoritamme bittikohtaisen XOR-operaation kahdelle kokonaislukumuuttujalle (n1 ja n2). Koodi alkaa sanalla 'using System;' lauseke, joka tuo 'System'-nimiavaruuden sallien 'System'-nimiavaruudessa määriteltyjen luokkien, kuten 'Console'-luokan, käytön.

Koodi määrittelee luokan nimeltä 'Check' käyttämällä 'julkisen luokan tarkistus' -syntaksia. Tämä luokka sisältää yhden menetelmän, joka on 'Mai'. Main()-funktio ottaa 'args'-merkkijonotaulukon parametriksi, jota voidaan käyttää komentoriviarvojen välittämiseen koodiohjelmalle.

Main()-menetelmän sisällä kaksi kokonaislukumuuttujaa, 'n1' ja 'n2', ilmoitetaan ja alustetaan arvoilla 17 ja 8, vastaavasti. Arvon 'n1' binääriesitys on 10001, mikä tarkoittaa, että se on yhtä kuin desimaaliluku 17, ja 'n2'-arvon binääriesitys on 1000, mikä tarkoittaa, että se on yhtä kuin desimaaliluku 8.

'int Res = n1 ^ n2;' rivi laskee XOR-operaation tuloksen 'n1' ja 'n2' välillä käyttämällä XOR-operaattoria (^). Tulos säilytetään 'Res'-muuttujassa. XOR-operaatiota sovelletaan 'n1' ja 'n2' binääriesitykseen. Se vertaa kutakin vastaavaa binääriesitysten bittiä ja asettaa tuloksena olevan bitin 1:ksi, jos bitit ovat erilaisia, ja 0:ksi, jos bitit ovat samat.

Suorittamalla XOR-operaation saamme binäärituloksen 11001, joka on yhtä kuin desimaaliluku 25. Console.WriteLine($”Result: {Res}”); rivi tulostaa XOR-operaation tuloksen konsoliin. Console.WriteLine-menetelmää käytetään 'Result:'-merkkijonon näyttämiseen, jota seuraa 'Res'-muuttujan arvo. Syntaksia {$”Result: {Res}”} kutsutaan merkkijonointerpolaatioksi, jonka avulla voimme upottaa Res-muuttujan arvon suoraan merkkijonoon.

järjestelmän avulla ;

julkinen luokka Tarkista {

julkinen staattinen mitätön Main ( merkkijono [ ] args )

{

int n1 = 17 ; // 10001

int n2 = 8 ; // 1000

int Res = n1 ^ n2 ;

Konsoli. WriteLine ( $ 'Tulos: {Res}' ) ;

}

}

Seuraavassa kuvassa näkyvä tuloskonsolin näyttö näyttää tuloksen '25', joka on saatu käyttämällä XOR-toimintoa välillä 17 ja 8:

Esimerkki 3:

Siirrytään tämän artikkelin viimeiseen esimerkkiin, joka määrittää XOR-operaattorin käytön C#:ssa. Seuraava liitetty koodinpätkä alkaa sanalla 'using System;' lauseke, joka tuo 'System'-nimiavaruuden.

Seuraavaksi julistetaan julkinen luokka nimeltä 'Testi'. Tämä luokka on heitetty lähtökohtana ja kattaa myös main()-metodin. 'Main()'-menetelmän sisällä suoritamme XOR-operaation merkkiarvoille. Kaksi 'char'-muuttujaa, 'L1' ja 'L2', ilmoitetaan ja niille määritetään 'M'- ja 'R'-arvot, vastaavasti.

Nämä muuttujat edustavat merkkejä. Toinen 'char'-muuttuja nimeltä 'Res' ilmoitetaan ja määritetään XOR-operaation tuloksella 'L1' ja 'L2' välillä. XOR-operaatio suoritetaan XOR-operaattorin '^' kautta.

Koska XOR-operaattori toimii kokonaislukuarvoilla, (char) castia käytetään muuttamaan tuloksena saatu kokonaislukuarvo takaisin merkiksi. Console.WriteLine-lause hylätään tulosten tulostamiseksi. Se käyttää merkkijonointerpolaatiota (`$`) sisällyttääkseen 'Res'-arvon ulostuloon.

Kun ohjelma suoritetaan, main()-metodi kutsutaan ja seuraava tulos näytetään konsolissa. Tässä tapauksessa XOR-operaatio M- ja R-merkkien välillä johtaa '?' tai '.' merkki. Tuloksena oleva merkki tulostetaan osana tulosta.

järjestelmän avulla ;

julkisen luokan koe {

julkinen staattinen mitätön Main ( merkkijono [ ] args )

{

hiiltyä L1 = 'M' ;

hiiltyä L2 = 'R' ;

hiiltyä Res = ( hiiltyä ) ( L1 ^ L2 ) ;

Konsoli. WriteLine ( $ 'Tulos: {Res}' ) ;

}

}

Tämä on yksityiskohtainen selitys aiemmin toimitetusta koodista. Se osoittaa, että XOR-operaattoria käytetään suorittamaan bittikohtainen XOR-operaatio merkkiarvoille ja tulostamaan tulos seuraavan liitteenä olevan kuvan mukaisesti:

Johtopäätös

C# XOR -operaattori tarjoaa joustavan työkalun bittikohtaisten ja loogisten toimintojen suorittamiseen. Sen avulla voit työskennellä binääribittien kanssa ja ilmaista ainutlaatuiset ehdot Boolen logiikassa. Koodiesimerkkien avulla keskustelimme siitä, kuinka XOR-operaattoria voidaan soveltaa Boolen arvoihin, kokonaislukuarvoihin ja merkkiarvoihin halutun tulosteen saamiseksi. Käyttämällä XOR-operaattoria oikein voit parantaa taitojasi C#-ohjelmoijana.