Bitvis og operatør i Python

Bitvis og operatør i Python
Operatører spiller en veldig viktig og avgjørende rolle siden dagen de ble definert og brukt på programmeringsspråk. Hvert programmeringsspråk lar brukeren bruke bitvis operatørene for å oppnå implementeringsmålet sitt. Bitvis operatører klarer seg bra med alle slags formler, innebygde eller brukerdefinerte funksjoner. Operatørene er spesielle symboler som utfører den logiske og aritmetiske operasjonene på verdier og variabler. Verdiene eller variablene som brukes til å utføre operasjonene ved bruk av operatørene er ofte kjent som "operatører". Denne artikkelen handler om dette konseptet.

Hva er de bitvise operatørene i Python?

De bitvise operatørene i Python brukes til å utføre bitvise beregninger på variabler, tall eller heltall. For det første konverteres heltalene eller tallene til binære. Deretter utføres en bitvis operasjon med bitvis operatører på de konverterte heltallene bit etter bit. Dette er grunnen til at det kalles bitvis operasjoner. Resultatet produsert av Bitvis -operasjonen er gitt i desimalformat. Poenget å merke seg her er at de bitvise operatørene i Python bare jobber med heltall. Følgende er listen over bitvis operatører definert i Pythons standardbibliotek.

Navn Operatørskilt Syntaks Produksjon
Bitvis eller | a | b Returnerer 1 bare når begge variablene er 1 annet 0.
Bitvis og Og A & B Returnerer 0 bare når begge variablene er 0 annet 1.
Bitvis ikke ~ ~ a Returnerer komplementet til nummeret.
Bitvis xor ^ a^b Returnerer 1 når begge bitene er forskjellige ellers 0.
Bitvis høyre skift >> a >> Skifter bitene til høyre.
Bitvis venstre skift << en<< Skifter bitene til venstre.

I denne opplæringen vil vi bare fokusere på bitvis og operatøren og implementere noen enkle, enkle og relevante eksempler for å forstå driften av og operatøren fullstendig. Bitvis og tar to variabler eller desimaltall som input, konverterer dem til binær, bruker og driften og returnerer desimalnummeret.

Eksempel 1:

Så langt diskuterte vi syntaks og grunnleggende funksjon av og operatøren. Nå er det på tide å utforske noen eksempelkode for å lære å implementere og bitvis -funksjonen i Python -koden. La oss først se følgende kode. Deretter utforsker vi hver uttalelse en etter en.

Her er to variabler definert: x = 11 og y = 6. En bitvis operatør konverterer hvert desimaltall til et binært tall før du bruker en bitvis og drift. Vi viser hva som er 11 i binært og hva som er 6 i binært. Etter det bruker vi bitvis og operatør på x og y og genererer utgangen.

x = 11
y = 6
print (x, "konvertert i binær", format (x, "b"))
trykk (y, "konvertert i binær", format (y, "b"))
trykk ("The Bitwise & of", x, "og", y, "er:", x & y)

Den forrige illustrasjonen er utdata gitt av bitvis og operatør. Når 11 blir omgjort til binær, gir det 1011. Når 6 blir konvertert til binær, gir det 0110. Bitvis og brukes på både binære tall 1011 og 0110 som resulterer til 0010 som er 2 i desimalrepresentasjon.

Eksempel 2:

I dette eksemplet skal vi se forskjellen mellom og og og operatøren i Python. “Og” -operatøren i Python er en logisk og som returnerer “falsk” eller “0” for hvert tilfelle, bortsett fra når begge bitene er “sanne” eller “1”. På den annen side brukes "&" -operatøren til å representere den bitvise operasjonen som først og fremst fungerer med biter og utfører bit-for-bit-operasjonene. La oss nå kode noe for å forstå forskjellen i funksjonen til "og" og "&" -operatørene.

x = 11
y = 6
trykk (x, "og", y, "=", x og y)
print (x, "&", y, "=", x & y)

La oss se følgende utdata. Som du kanskje legger merke til, "og" returnerer 6 mens "&" returnerer 2. Dette er fordi når "og" -operatøren blir brukt på x og y, sjekker det om x og y er logisk sanne. Imidlertid, når vi bruker "&" -operatøren, utfører den bitvis "og" -operasjonen og gir det beregnede resultatet. For "og" -operasjonen undersøker kompilatoren den første variabelen. Hvis den returnerer "sant", sjekker den den andre variabelen. Ellers returnerer det ganske enkelt “falsk”.

Faktisk, og bare returnerer "sant" når begge variablene er "sanne". Ellers returnerer det alltid “falsk”. Derfor, når kompilatoren finner "falsk" i begynnelsen, trenger den ikke å sjekke neste variabel. Siden det ikke spiller noen rolle om den andre variabelen er "sann" eller "falsk", returnerer den umiddelbart "falsk". Hele dette scenariet er ofte kjent som "lat evaluering" siden kompilatoren ikke går lenger når den blir en "falsk".

Eksempel 3:

I dette eksemplet vil vi utforske operatørens overbelastning. Begrepet overbelastning av operatør er at det gir en utvidet betydning for den forhåndsdefinerte operasjonelle betydningen av operatørene. For eksempel brukes + -operatøren til å ta summen av to tall. Imidlertid brukes det også til å slå sammen to lister eller slå sammen to strenger sammen. Dette skjer fordi + -operatøren er overbelastet av "STR" -klassen og "int" -klassen. Derfor, når en operatør viser en annen oppførsel enn standardatferd, regnes den som en operatøroverbelastning. La oss se et eksempel på overbelastning av bitvis og operatør.

klasse og ():
def __init __ (selv, verdi):
selv-.verdi = verdi
def __and __ (selv, obj):
trykk ("Bitvis og operatøren overbelastet")
Hvis IsInstance (obj, og):
Returnerer selv.Verdi og obj.verdi
ellers:
Hev ValueError ("Bør være et objekt for klasse og")
if __name__ == "__main__":
x = og (10)
y = og (12)
print ("x & y =", x & y)

Utgangen fra operatørens overbelastningseksempel er gitt i følgende illustrasjon:

Konklusjon

Denne artikkelen gir en rask oversikt over bitvis og operasjon. Vi har sett den grunnleggende definisjonen av de forskjellige bitvise operatørene gitt i Pythons standardbibliotek. Imidlertid fokuserte vi hovedsakelig på begrepet bitvis og operatør. OG -operatøren tar to desimaler som inngangsparametere, konverterer dem til et binært tall, utfører litt bitvis og drift på det, konverterer det binære resultatet til desimal og returnerer utgangen i desimalformat. Noen enkle og nyttige eksempler er gitt for å ha en klar forståelse av hva bitvis og operatør gjør og hvordan det fungerer. Øv disse eksemplene slik at du enkelt kan bruke dem i Python -programmene dine.