Operatori pe biți în C [cu exemplu de codare]
Publicat: 2020-10-26Cuprins
Introducere
Operatorii sunt componente esențiale ale fiecărui limbaj de programare. Acestea sunt simbolurile care sunt folosite pentru a realiza anumite operații de programare logice, matematice sau de altă natură. C oferă diferiți operatori pentru efectuarea de operații multiple, cum ar fi manipularea aritmetică, logică și biți. Există opt tipuri diferite de operatori în C. Acestea sunt:
- Operatori aritmetici în C
- Operatori logici în C
- Operator condiționat în C
- Operatori relaționali în C
- Operatori de creștere și decreștere în C
- Operatori pe biți în C
- Operatori de atribuire în C
- Operatori speciali din C
În acest articol, veți afla despre operatorii bitwise în C și cum să-i implementați.
Ce este un operator pe biți?
Operatorul pe biți în C este un tip de operator care operează pe matrice de biți, șiruri de biți și ajustarea valorilor binare cu biți individuali la nivel de biți. Pentru manipularea electronicii și a operațiunilor legate de IoT, programatorii folosesc operatori pe biți. Poate funcționa mai repede la un pic.
Operatorul pe biți în C își efectuează operația pe biții individuali ai operandului său, unde operanzii sunt valori sau expresii pe care operează un operator. Acești operatori sunt, de asemenea, utilizați pentru a efectua acțiunile de bază, precum și operații aritmetice de nivel înalt care necesită suport direct al procesorului. Putem subcategorii în continuare operatorii pe biți în trei subtipuri pe baza principiilor lor de lucru, logici (ȘI pe biți, SAU și XOR), Shift (Deplasare la dreapta și deplasare la stânga) și Complement (NU pe biți).
Există șase operatori biți diferiți în C. Acestea sunt:
· operator AND pe biți (&)

· Operator SAU pe biți (|)
· Operator SAU exclusiv pe biți (^)
· Complementul lui binar sau operatorul NOT pe biți (~)
· Operator de deplasare la stânga pe biți (<<)
· Operator de deplasare la dreapta pe biți (>>)
Folosind operatori pe biți, programatorii pot schimba biții individuali ai oricărei valori conținute în operand. Putem vedea un singur octet al memoriei computerului ca pe 8 biți, ceea ce înseamnă starea adevărată sau falsă a celor 8 steaguri. Operatorii pe biți sunt de obicei aplicați pentru a defini valorile flag în sistemele de operare și software-ul driverului. De exemplu, într-o proprietate de fișier, modul numai citire este exprimat conceptual ca un bit de semnalizare în sistemul de operare, iar operatorul pe biți este folosit pentru a comuta între valoarea adevărată și cea falsă.
Iată un tabel care arată cum rezultă calculul operatorilor pe biți.
| X | y | X y | x | y | x ^ y |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Există șase tipuri diferite de operatori pe biți în C. Acestea sunt:
ȘI pe biți (&) în C: compilatorul C recunoaște ȘI pe biți cu operatorul &. Este nevoie de doi operanzi și efectuează operația AND pentru fiecare bit din cele două numere de operanzi. Este un operator binar. Ieșirea acestui operator va avea ca rezultat 1 numai dacă ambii biți sunt 1.
SAU pe biți (|) în C: compilatorul C recunoaște SAU pe biți cu | operator. Este nevoie de doi operanzi și efectuează operația SAU pentru fiecare bit din cele două numere de operanzi. Este, de asemenea, un operator binar. Ieșirea acestui operator va avea ca rezultat 1 dacă oricare dintre cei doi biți este 1.

XOR pe biți (^) în C: compilatorul C recunoaște XOR pe biți cu operatorul ^. Este nevoie de doi operanzi și efectuează operația XOR pentru fiecare bit din cele două numere de operanzi. Este, de asemenea, un operator binar. Ieșirea acestui operator va avea ca rezultat 1 dacă ambii biți au valori diferite.
Complementul lui binar sau operatorul NOT pe biți (~) în C: compilatorul C recunoaște operatorul NOT pe biți cu ~. Este nevoie de un singur operand și efectuează inversarea tuturor cifrelor acestuia. Este un operator unar. Ieșirea acestui operator va inversa toți biții existenți ai acelui operand.
Operatorul de deplasare la stânga pe biți (<<) în C: compilatorul C recunoaște operația de deplasare la stânga cu acest <<. Este nevoie de doar doi operanzi și mută toți biții primului operand la stânga. Al doilea operand decide câte numere de locuri își va muta acest operator biții. Este un operator binar.
Operatorul de deplasare la dreapta pe biți (>>) în C: compilatorul C recunoaște operația de deplasare la stânga cu acest >>. Este nevoie de doar doi operanzi și mută toți biții primului operand la dreapta. Al doilea operand decide câte numere de locuri își va muta acest operator biții. Este un operator binar.
Citiți: Operatori în Python: un ghid pentru începători pentru aritmetică, relaționale, logice și altele
Program pentru operator pe biți în C
Să aruncăm o privire acum la program folosind toți operatorii pe biți.
#include <stdio.h>
int main()
{
caracter nesemnat x = 20, y = 21; // x = 20 (00010100), y = 21 (00010101)
int g = 0;
g = x & y; /* 20 = 010100 */
printf(” Rezultatul AND pe biți este %d \n”, g );
g = x | y; /* 21 = 010101 */
printf(” Rezultatul OR pe biți este %d \n”, g );
g = x ^ y; /* 1 = 0001 */
printf(” Rezultatul XOR pe biți este %d \n”, g );
g = ~x;
printf(” Rezultatul BItwise NOT este %d \n”, g );
g = x << 1;
printf(” Rezultatul deplasării pe biți la stânga este %d \n”, g );
g = x >> 1;
printf(” Rezultatul deplasării la dreapta pe biți este %d \n”, g );
returnează 0;
}
IEȘIRE:
Rezultatul AND pe biți este 20
Rezultatul OR pe biți este 21
Rezultatul XOR pe biți este 1
Rezultatul Bitwise NOT este -21

Rezultatul deplasării la stânga pe biți este 40
Rezultatul deplasării la dreapta pe biți este 10
Citește și: Tutorial Python: Configurare, Instrumente, Caracteristici, Aplicații, Beneficii, Comparație
Concluzie
Operatorii pe biți sunt un tip particular de operatori în C utilizați pentru programarea la nivel de biți. Este esențial să cunoașteți utilizarea operatorului pe biți, deoarece aduce o modalitate eficientă de economisire a spațiului în reprezentarea datelor. Programatorii folosesc acești operatori în diverse domenii, cum ar fi programarea sistemelor, programarea încorporată și proiectarea protocoalelor. Prin urmare, programatorii trebuie să cunoască utilizarea acestuia.
upGrad aduce programare cu C și multe altele cu Diploma PG de la upGrad în Dezvoltare Software Specializare în Dezvoltare Full Stack . Un program care te face să devii un dezvoltator full stack și să înveți să construiești unele dintre aplicațiile minunate. Este un program extins de 12 luni care include lucrul la proiecte și sarcini live și, de asemenea, instruirea a 15 limbaje și instrumente de programare. Împreună cu acesta, are suport permanent în carieră, cu simulate de interviuri și asistență la locul de muncă.
