Cuprins:
Video: MVC 2024
O sursă de operatori de programare C furnizează manipularea datelor la nivel binar. Operatorii sunt ușor de ignorat, dar numai atunci când adevărata lor putere și utilitate nu sunt apreciați.
Metodele ~ și! operatori
Doi operatori binari rare sunt complementul ~ (sau 1) și cel! (sau nu). Ei nu au farmecul operatorilor logici de biți, dar au un loc.
Operatorul complementului 1 răstoarnă toți biții într-o valoare, transformând un 1 într-un 0 și un 0 într-un 1. De exemplu:
~ 01010011 = 10101100
The! (NOT) operatorul afectează întreaga valoare - toți biți. Se modifică orice valoare nenuloasă la 0 și valoarea 0 la 1:
! 01010011 = 00000000! 00000000 = 00000001
Zero și 1 sunt singurele două rezultate posibile atunci când se utilizează bitwise! operator.
Atât! operatorii sunt operatori unari - pur și simplu prefixați o valoare pentru a obține rezultatele.
Operator | Nume | Tip | Acțiune |
---|---|---|---|
& | ȘI | Bit |
OR |
Bitwise | Setează biți, schimbând biți specifici de la 0 la 1 | ^ | XOR |
Bitwise | altfel, la 1 | ~ | complementul 1 |
Unary | Inversează toți biții | ~ | NOT |
Unary | 0 valori, la 1 | Funcția | binbin () |
|
Prima instrucțiune realizează o mască AND cu valoarea n. Totul, cu excepția celui din stânga al numărului, este aruncat. Dacă acel bit este setat, ceea ce o face o condiție TRUE, caracterul 1 este stocat în matrice; în caz contrar, caracterul 0 este stocat.
Valoarea este exprimată ca 0x80, care este notația hexazecimală, un tip de stenogramă pentru binar. Valoarea hexazecimalã 0x80 este egalã cu 10000000 binare, care este masca AND. Dacă valoarea este de 16 biți în loc de 8, este folosit în schimb 0x8000, ceea ce creează o mască binară pe 16 biți.
A doua instrucțiune schimbă biții în valoarea n o crestătură în stânga. Pe măsură ce bucla se rotește, funcționând prin valoarea n, un alt bit al valorii este deplasat în poziția din stânga. Acest bit este evaluat, iar șirul binar este construit prin introducerea unui caracter "1" sau "0".