Mens programmering i Python, "Xor”Operatøren brukes i flere oppgaver. For eksempel, for å oppdage feil eller problemer i dataoverføring ved hjelp av sjekksum, bruk kryptering på meldinger eller hente visse biter fra et tall. Mer spesifikt brukes den til å sammenligne to sett med data eller strenger og bestemme om de er like eller har noen forskjeller.
Denne bloggen vil dekke følgende aspekter:
Hva er XOR i Python?
I Python, “Xor”Eller“Eksklusiv eller”Er en operatør som sammenligner to binære tall bitvis. Denne operatøren kommer tilbake “0”Hvis begge bitene er de samme. Ellers gir det ut "1”I tilfelle begge verdiene er forskjellige. Pythons innebygde XOR-operatør tillater oss å logisk kombinere to verdier ved hjelp av den eksklusive eller operasjonen.
Hvordan fungerer XOR i Python?
XOR -operatøren er representert som “^”I Python, og det følger den gitte syntaks:
xor_number = x ^ yHer, “x ”og“ y”Angi de binære tallene,”^”Representerer XOR -operatøren, og“xor_number”Lagrer den resulterende boolske verdien.
Xor sannhetstabell
For å vite mer om XOR -operatørens arbeid, se på den gitte tabellen:
x | y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Hvordan xor to strenger i python?
Siden XOR er en bitvis operatør, kan den bare fungere på heltall. For å utføre XOR -operasjonen mellom to strenger, er det imidlertid påkrevd å konvertere dem til sine respektive ASCII/Unicode -verdier ved å bruke "ord ()”Funksjon og bruk deretter“^”Operatør.
Tre hovedscenarier eksisterer når du vurderer XOR -operatørens implikasjon av strengverdier:
La oss praktisk talt demonstrere de uttalte sakene!
Sak 1: Bruk XOR på to strenger med binære verdier
For å bruke XOR -operatøren på to strenger som har binære verdier, initialiserer dem først som følger:
String1 = "0100100"Legg nå til følgende linjer:
resultat = [(ord (a) ^ ord (b)) for a, b i zip (streng1, streng2)]I henhold til den gitte koden:
Det kan observeres at for hver indeks av begge strengene, utgjør XOR -operatøren “0”, Og for forskjellige verdier,“1”Er returnert.
Sak 2: Bruk XOR på to strenger med tegn
Nå brukes XOR -operatøren på to strenger som har følgende karakterverdier:
String1 = "To"I dette tilfellet "ord ()”Funksjon returnerer ASCII -verdien for hver generert og overfører dem til“^”for å utføre XOR -operasjonen:
En annen enkleste måte å huske arbeidet med denne saken er når "ord ()”Funksjon returnerer ASCII -verdien for hvert par, XOR -operatøren sender ut deres trukket verdi.
For eksempel:
Sak 3: Bruk XOR på to når en streng inneholder tegn, og den andre er basert på heltall/binære verdier
Siste sak i den pågående diskusjonen er når en streng inneholder tegn, for eksempel "to”, Og den andre består av heltall eller binære verdier, som“111”:
String1 = "To"Her fungerer koden på samme måte som det andre tilfellet. Bortsett fra at de returnerte ASCII -verdiene er konvertert til de respektive tegnene ved å bruke “Chr ()”Python -funksjon:
Den returnerte listen representerer tegnene til de tilsvarende ASCII -verdiene.
Konklusjon
I Python, xor “^”Returnerer”0”Hvis begge bitene er de samme. Ellers gir det ut "1”. Imidlertid omfatter begge strengene tegn, verdier blir konvertert til deres ASCII -representasjon ved å bruke "ord ()”Funksjon, og deretter brukes XOR -operatøren. Den samme operasjonen utføres når begge strengene inneholder forskjellige datatyper, som tegn og heltall. Bare differensieringen er å påkalle "Chr ()”Funksjon for å få den resulterende verdien i tegn. Denne bloggen demonstrerte hvordan du XOR to strenger i Python.