Bitvisa operatörer på C -språk

Bitwise Operators C Language



Bitvisa operatörer, ofta kända som bitnivåkodning, har kastats ut för att tolka data endast på bitnivån. Bitwise utför operationer på ett eller till och med ytterligare bitmönster och binära tal på bitnivån. Dessa har använts för att påskynda beräkningen av numeriska beräkningar. Den består av två tal, varav ett är 0 och det andra är 1. Här är några bitvisa operatörer som vi kommer att diskutera i vår artikel.

Logga in från ditt Linux -system och prova genvägen Ctrl+Alt+T för att öppna konsolterminalen. Vi kommer att ha några exempel för att utarbeta hur bitvisa operatörer fungerar på C -språket. Låt oss utveckla varje bitvis operatör separat.







Bitvis OCH:

Den bitvisa operatorn har använts för att replikera en bit till resultatet om den biten finns i båda de ömsesidiga operanderna. C eller C ++ kräver 2 operander som utför OCH på varje bit av dessa två heltal. Bitvis OCH resultat 1 när båda bitarna har värdet 1. Så, för att förstå arbetet, skapa och öppna en C -typfil med Nano -editor. För det måste vi konsumera nano -instruktion i skalet enligt följande:



$nanotest.c



Koden för Bitwise AND -operatören har visats i bilden nedan. Allt du behöver göra är att bara skriva den här koden i din GNU nano -editor fil test.c som den är. Den här koden har stdio.h -huvudbiblioteket utan vilket vi inte kan göra kodningen i C -programmering. Då har vi skapat en huvudmetod med dess returtyp som heltal. På C -språket utförs koden av huvudmetoden. Så vi har deklarerat två heltalsvariabler, x och y, med värdena 35 och 13 i enlighet därmed. Därefter har en annan heltalsvariabel specificerats med noll som värde. Vi kommer att använda de två första heltalsvariablerna och tillämpa den bitvisa OCH -operatorn mellan dem. Detta arbete har utförts på nästa rad där OCH -operatören har använts som &, och det resulterande värdet kommer att lagras i nollvariabeln z. Sedan har vi använt utskriftsuttrycket för att visa det resulterande värdet i terminalskärmen och huvudmetoden stängs. Spara din fil med GNU -genvägen Ctrl+S och avsluta sedan nanoredigeraren via Ctrl+X från tangentbordets skrivmaskin.





Så det är dags att kompilera ovanstående kod efter att filen har sparats. Använd gcc -instruktionen i ditt konsolskal medan du använder namnet på en fil som test.c eller vad du än namngav filen och tryck på Enter -tangenten. Du kan se att det inte visar något fel; detta betyder att koden är korrekt manuellt.



$gcctest.c

Efter att ha sammanställt koden är det dags att köra koden nu. För detta ändamål, kör den angivna frågan nedan i skalet. Utgången visar 1 som ett resultat. Det betyder att båda våra heltalsvariabler har 1 i en av sina bitar. Det är därför den returnerar 1.

$./a.out

Bitvis ELLER:

Nu är det dags för den bitvisa ELLER -operatören att utvecklas. Den bitvisa operatören returnerar 1 som ett resultat när en av dess bitar är 1. Om båda bitarna i två heltal är 0, ger den 0. Efter att ha fått alla bitarna kommer det att genereras en uppsättning bitar. Vi måste se vilket nummer de bitarna bildade. Så öppna samma test.c -dokument först. Skriv och spara sedan koden nedan i GNU-filen med Ctrl+S-tangenten. Koden är nästan densamma som i ovanstående bitvis OCH -operatörsexempel. Den här gången har vi precis ändrat värdet på heltal x till 47, och vi har använt OR -operatorn, t.ex. | mellan båda variablerna. Avsluta filen för att kompilera koden.

Efter att ha utfört dokumenttestet. C visar det 47 utdatabit.

$./a.out

Bitvis XOR:

Den bitvisa operatören returnerar 1 när båda sifferbitarna är olika. Så när bitarna är desamma ger det 0. Operatörstecknet ^ representerar den bitvisa operatören. Så igen, öppna dokumentet och skriv samma gamla kod i GNU -filredigeraren. Den här gången har vi använt ^ -operatörerna inom två heltalsvariabler, och resultatet kommer att lagras i variabeln z medan du skriver ut i terminalen.

Kompilera och köra filen test.c returnerar 34 som ett resultat. Detta innebär att det nya heltalet 34 genereras efter att XOR -operatören har applicerats på två heltalsvariabler.

$./a.out

Bitvis komplement:

Denna operatör kommer endast att tillämpas på en enda variabel, och det kommer att återställa värdet på bitnumret. Till exempel kommer den att ändra 0 bit till 1 och 1 till 0 bit. Skriv samma kod i samma fil men med en liten ändring på rad 6. Vi har tilldelat baksidan av x till z.

Kompilera filen och kör den. I C har resultatet av Bitwise -komplement ökats med 1 med ett negativt tecken.

Vänster skiftoperatör:

Det kommer att flytta bitarnas plats till viss del. Samma kod kan visas i bilden som bifogas nedan. I det här exemplet kommer vi att flytta 2 bitar till vänster.

Utdata visar 188 som ett nygenererat värde.

$./a.out

Höger växlingsoperatör:

Det fungerar på samma sätt som det vänstra skiftet fungerar men i motsatt riktning, som visas i koden nedan.

Den här gången har vi 11 som utmatning när vi flyttar 2 bitar till höger sida.

$./a.out

Slutsats:

Vi har täckt alla de grundläggande 6 bitvisa operatörerna i vår C -språkkod i den här artikeln. Jag hoppas att du får det du ville ha från vår guide.