Generelt sett bør du ikke trenge å bekymre deg for operasjoner et sted på bitnivå som utvikler. Du kan konseptualisere når det gjelder byte, int og dobler og til og med data på høyere nivå. Imidlertid er det tilfeller når du ønsker å zoome inn på et enkelt stykke. Bitene i en heltallvariabel forskyves med et definert antall posisjoner ved bruk av to skiftoperatører. ">>" -operatøren endrer biter til høyre, mens operatøren endrer biter igjen. Generelt vil bruk av venstre og høyre skiftoperatører i stedet for databehandling og deretter multiplikasjon med en kraft på to resultere i vesentlig raskere kode.
Som et resultat kan vi dele bitvis skiftoperatøren i to hovedkategorier:
Eksempel på venstre skiftoperatør
I C er det en bitvis skiftoperatør som fungerer med biter. Det er en binær operatør, som betyr at den fungerer med to operander. Det brukes til å flytte bitene av en verdi til venstre ved å legge nuller til de tomme rommene som er igjen etter å ha skiftet. Av antall steder som er spesifisert av den andre operanden, blir de første operandbitene flyttet til venstre.
Syntaks
“NameOfVariable”<Utfallet av venstre skiftoperasjon vil være ukjent hvis den første operanden er negativ. På samme måte, hvis den andre operandens verdi på en eller annen måte er negativ eller mer enn eller lik antall biter under den første operanden, er resultatet av venstre skiftoperasjon udefinert. Mens hvis den andre operandens verdi er større enn heltallets størrelse, vil utfallet av venstre skiftoperasjon også være udefinert.
Vi implementerer alle disse eksemplene på Ubuntu 20.04 Linux operativsystem. Åpne terminalvinduet til Ubuntu 20.04 Linux -operativsystem og utfør følgende vedlagte instruksjon i skallet for å lage en fil med tittelen “Leftshift.C ”. Filutvidelsen er .C, som skildrer filen er for C -programmeringsspråket.
$ nano venstrehift.cEtter opprettelse vil filen bli åpnet i GNU -redaktøren. Utfør den oppførte nedenfor programmeringskoden.
I denne koden har vi tildelt verdiene til “A” og “B” som “2” og “9” og brukt den venstre skiftoperatøren på begge. Vi har skrevet ut resultatet ved å bruke printf () -funksjonen. Hele koden er skrevet i hovedfunksjonen. Etter å ha lagret denne filen, skriv de oppførte kommandoene nedenfor for utførelse og sammenstilling av ovennevnte kode ved hjelp av GCC-kompilatoren.
$ GCC venstreskift.cVed utførelse vises utgangen, som du kan sjekke inn det vedlagte bildet.
Eksempel på høyre skift
To tall brukes som operander i riktig skift (>>) operasjon. Den andre operanden avgjør om eller om den første operanden skal rette bitene, samt antall steder som skal forskyves. Med andre ord, 0 brukes med mindre tallet er positivt, og 1 brukes når tallet er negativt.
Syntaks
“NameOfVariable” >> ”TotalPositionNumbers”Det kan være to verdier i ovennevnte linje; Den første er en heltallvariabel for å bruke riktig skiftoperatør. Denne variabelenes navn kan være alt brukeren vil at den skal være. Den andre verdien er et heltall som definerer hvor mange steder bitene skal flyttes til høyre.
Vi implementerer alle disse eksemplene på Ubuntu 20.04 Linux operativsystem. Åpne terminalvinduet til Ubuntu 20.04 Linux -operativsystem og utfør følgende vedlagte instruksjon i skallet for å lage en fil med tittelen “Rshift.C ”. Filutvidelsen er .C, som skildrer filen er for C -programmeringsspråket.
Etter opprettelse vil filen bli åpnet i GNU -redaktøren. Utfør den oppførte nedenfor programmeringskoden.
I denne koden tildelte vi verdiene til A og B som “5” og “9” og brukte venstre skiftoperatør på begge. Vi har skrevet ut resultatet ved å bruke printf () -funksjonen. Hele koden er skrevet i hovedfunksjonen. Etter å ha lagret denne filen, skriv de oppførte kommandoene nedenfor for utførelse og sammenstilling av ovennevnte kode ved hjelp av GCC-kompilatoren.
$ GCC RSHIFT.cVed utførelse vises utgangen, som du kan sjekke inn det vedlagte bildet.
Konklusjon
Bitvis operatører er et sett med spesielle operatører gitt av 'C' programmeringsspråk. De er ansatt i programmering på bitnivå. I C /lærte vi hvordan vi bruker venstre og høyre skiftoperatører, som er viktige for bitskiftende operasjoner på usignerte tall. Når skiftoperatørene er kombinert, kan dataene fra heltalluttrykket trekkes ut. Jeg tror du enkelt vil bruke skiftoperatører ved hjelp av denne grundige guiden.