Operatori biți în limbă C.

Bitwise Operators C Language



Operatorii bitwise, adesea cunoscuți sub numele de codare la nivel de biți, au fost respinși pentru a interpreta datele doar la nivel de biți. Bitwise efectuează operații pe unul sau chiar pe modele de biți și numere binare suplimentare la nivelul de biți. Acestea au fost utilizate pentru a accelera progresia estimării calculelor numerice. Se compune din două numere, dintre care unul este 0, iar celălalt este 1. Iată câțiva operatori biți pe care îi vom discuta în articolul nostru.

Conectați-vă din sistemul dvs. Linux și încercați comanda rapidă Ctrl + Alt + T pentru a deschide terminalul consolei. Vom avea câteva exemple pentru a detalia operațiunile operatorilor bit-bit în limbajul C. Să explicăm separat fiecare operator pe biți.







Bitwise ȘI:

Operatorul bitwise a fost folosit pentru a replica un bit la rezultat dacă acel bit este prezent în ambii operanzi reciproci. C sau C ++ necesită 2 operanzi care efectuează ȘI pe fiecare bit al celor două numere întregi. Bitwise AND rezultatele 1 atunci când ambii biți au valoarea 1. Deci, pentru a înțelege funcționarea, creați și deschideți un fișier de tip C folosind editorul Nano. Pentru aceasta, trebuie să consumăm instrucțiuni nano în shell, după cum urmează:



$nanotest.c



Codul pentru operatorul Bitwise AND a fost afișat în imaginea de mai jos. Tot ce trebuie să faceți este să scrieți acest cod în fișierul editor GNO nano test.c așa cum este. Acest cod are biblioteca de antet stdio.h fără de care nu putem finaliza codificarea în programarea C. Apoi am creat o metodă principală cu tipul său de returnare ca întreg. În limbajul C, execuția codului se face prin metoda principală. Deci, am declarat două variabile de tip întreg, x și y, cu valorile 35 și 13 în consecință. După aceea, o altă variabilă întreagă a fost specificată cu zero ca valoare. Vom folosi primele două variabile întregi și vom aplica operatorul ȘI între biți. Această lucrare a fost realizată pe următoarea linie în care operatorul AND a fost folosit ca &, iar valoarea rezultată va fi stocată în variabila nulă z. Apoi am folosit declarația de tipărire pentru a afișa valoarea rezultată în ecranul terminalului, iar metoda principală se închide. Salvați fișierul utilizând comanda rapidă GNU Ctrl + S și apoi părăsiți editorul nano prin Ctrl + X de la mașina de scris de la tastatură.





Deci, este momentul să compilați codul de mai sus după salvarea fișierului. Utilizați instrucțiunea gcc din shell-ul consolei în timp ce utilizați numele unui fișier ca test.c sau orice alt nume ați dat fișierului și apăsați tasta Enter. Puteți vedea că nu prezintă nicio eroare; aceasta înseamnă că codul este corect manual.



$gcctest.c

După ce ați compilat codul, este timpul să îl executați acum. În acest scop, rulați interogarea menționată mai jos în shell. Rezultatul arată 1 ca rezultat. Aceasta înseamnă că ambele variabile întregi au 1 într-unul din biții lor. Acesta este motivul pentru care returnează 1.

$./a.out

Bitwise SAU:

Acum, este activat ca operatorul SAU bit bit să fie elaborat. Operatorul bitwise returnează 1 ca rezultat atunci când unul din bitul său este 1. Dacă ambii biți ai celor doi numere întregi sunt 0, atunci produce 0. După obținerea tuturor biților, va fi generat un set de biți. Trebuie să vedem ce număr au format acei biți. Deci, deschideți mai întâi același document test.c. Tastați și apoi salvați codul de mai jos în fișierul GNU folosind tasta Ctrl + S. Codul este aproape același cu exemplul de operator ȘI bitwise de mai sus. De data aceasta tocmai am schimbat valoarea întregului x la 47 și am folosit operatorul OR, de ex. | între ambele variabile. Părăsiți fișierul pentru a compila codul.

După executarea cu succes a documentului test.c, acesta afișează 47 de biți de ieșire.

$./a.out

Bitwise XOR:

Operatorul bitwise returnează 1 când ambii biți numerici sunt diferiți. Deci, atunci când biții sunt aceiași, va produce 0. Semnul operatorului ^ va reprezenta operatorul în biți. Deci, din nou, deschideți documentul și scrieți același cod vechi în editorul de fișiere GNU. De data aceasta am folosit operatorii ^ în două variabile întregi, iar rezultatul va fi stocat în variabila z în timp ce se tipărește în terminal.

Compilați și rulați fișierul test.c returnează 34 ca urmare. Aceasta înseamnă că noul număr întreg 34 este generat după ce operatorul XOR a fost aplicat la două variabile întregi.

$./a.out

Complement bitwise:

Acest operator va fi aplicat doar unei singure variabile și va reveni la valoarea numărului de biți. De exemplu, va schimba bitul 0 la 1 și 1 la 0 bit. Scrieți același cod în același fișier, dar cu o mică modificare la linia 6. Am atribuit inversul lui x la z.

Compilați fișierul și rulați-l. În C, rezultatul complementului Bitwise a fost incrementat cu 1 cu semn negativ.

Operator schimbare stânga:

Acesta va schimba locul de biți într-o oarecare măsură. Același cod poate fi afișat în imaginea anexată - mai jos. În acest exemplu, vom deplasa 2 biți spre stânga.

Ieșirea arată 188 ca o valoare recent generată.

$./a.out

Operator de schimbare dreapta:

Funcționează la fel ca și schimbarea la stânga, dar în direcția opusă, așa cum se arată în codul de mai jos.

De data aceasta avem 11 ca ieșire la deplasarea a 2 biți pe partea dreaptă.

$./a.out

Concluzie:

Am acoperit toți operatorii de bază cu 6 biți în codul nostru în limbajul C din acest articol. Sper să obții ceea ce ți-ai dorit de la ghidul nostru.