Operațiuni binare. Programarea în C și C ++
Operațiile binare sunt operații utilizate pentru a efectua manipulări pe modele de biți sau numere binare, care includ lucrul cu biți individuali. Această acțiune rapidă, simplă, susținută direct de procesor, este utilizată pentru a controla valorile pentru comparații și calcule.
conținut
Bazele calculelor
Sistemul digital binar utilizează doar două cifre - 0 și 1. Calculatoarele funcționează în format binar, ceea ce înseamnă că stochează date și efectuează calcule folosind numai zerouri și altele.
Deși o cifră binară poate fi folosită pentru a reprezenta adevărat (1) (adevărat) sau fals (0) (fals) în logică, puteți utiliza mai multe cifre binare pentru a stoca numere mari și pentru a efectua funcții complexe. De fapt, orice număr poate fi reprezentat în format binar.
cerere
Operatorii biți sunt utilizați în următoarele domenii:
Stive de comunicare în care biți individuali din antetul atașat datelor transmit informații importante.
Software încorporat pentru controlul diferitelor funcții în chip și indicând starea hardware-ului prin controlarea biților individuali ai registrelor hardware ale microcontrolerelor încorporate.
Programare la nivel scăzut pentru aplicații precum drivere de dispozitiv, software criptografic, software de decodare video, alocatori de memorie, software de compresie și grafică.
Gestionarea convenabilă a seturilor mari de numere întregi în sarcinile de căutare și de optimizare.
Operațiunile cu biți realizate cu steaguri de biți care pot include o instanță de tip enumerare pentru a stoca orice combinație de valori definite în lista de enumeratori.
Operații bițiale - cum funcționează?
Spre deosebire de operatorii logici convenționali (de exemplu, +, -, *) care lucrează cu octeți sau grupuri de octeți, operatorii bitumiți pot verifica sau seta fiecare dintre biții individuali într-un octet. Operațiile cu biți nu produc niciodată o supraincarcere în celulele de memorie, deoarece rezultatul obținut după efectuarea operației este în intervalul de valori posibile pentru un tip numeric.
Operatorii biți utilizați în familia de limbi C (C #, C și C ++):
OR (|) - rezultatul este adevărat dacă oricare dintre operanzi este adevărat.
AND () - rezultatul este corect numai dacă ambii operanzi sunt adevărați. Acesta poate fi folosit pentru a configura o mască pentru a verifica valorile anumitor biți.
XOR (^) - rezultatul este adevărat numai dacă unul dintre operanzi este adevărat. Se utilizează în principal pentru a comuta anumite biți. De asemenea, ajută la înlocuirea a două variabile fără a utiliza oa treia.
-
NOT (~) este un complement bitwise sau inversiune. Oferă o completare bitwise a operandului prin inversarea valorii acestuia, astfel încât toate zerourile să fie convertite la cele și toate unitățile sunt convertite în zerouri.
> (dreapta; Shift) și << (stânga; Shift) este un operator care mută biții la numărul de poziții specificate de cel de-al doilea operand în direcția stângă sau dreaptă. Operatorii de schimbători sunt utilizați pentru a egaliza biții.
Exemplu de muncă
Operatorii cu biți sunt simboluri reprezentând acțiunile care trebuie efectuate pe biți individuali. O operație bitwise operează pe modele de două biți de aceeași lungime, poziționând biții lor individuali:
Operație logică AND () a fiecărei perechi de biți are 1 (adevărat) dacă primul și al doilea biți sunt egale cu 1. În caz contrar, rezultatul este zero. Printre alte aplicații, AND poate fi folosit pentru a testa biții individuali într-un șir de biți pentru a vedea dacă sunt false sau adevărate.
Să examinăm în detaliu un exemplu:
IsOdd = (ValueToTest 1)! = 0.
Operația logică OR (|) a fiecărei perechi de biți rezultă în 1 dacă primul sau al doilea bit este 1. În caz contrar, rezultatul este zero. Operația logică XOR (~) a fiecărei perechi de biți rezultă în 1 dacă doi biți sunt diferiți și 0 dacă aceștia sunt aceiași.
Operatorul logical NOT este reprezentat ca ^. Stânga (<<), schimbarea corectă (>) și decalajul de zgomot dreapta (>) sunt numite uneori operatori bitși și se numesc operatori de schimbare a bitului.
prioritizarea
Comanda prioritară (de la cea mai înaltă la cea mai mică) în operatorii de biți când se programează în C:
NU;
dreapta; Shift și stânga; Shift);
SI;
XOR;
SAU.
Acești operanzi sunt folosiți în majoritatea limbajelor de programare. De exemplu, atunci când scrieți cod în jаvascript, operația bitwise va fi aceeași cu cea de mai sus. Acest lucru este cauzat de fundamentele matematice de bază pe care se bazează codul. În special, operațiunile cu biți în Java, la rândul lor, sunt complet identice cu cele din jаvascript.
Bit și programare în C și în alte limbi
Bitul este cea mai mică unitate de măsură utilizată pentru cuantificarea datelor computerizate. Conține o valoare binară - 0 sau 1.
Deși un bit poate specifica o valoare logică a True (1) sau False (0), este rareori folosit ca o unitate separată. Prin urmare, într-un magazin de calculatoare, biții sunt adesea grupați în clustere pe 8 biți, numite octeți. Deoarece un octet conține opt biți, fiecare dintre ele având două valori posibile, în operații bitrate în C (limba de programare) un octet poate avea 28 sau 256 valori diferite.
Termenii "biți" și "octeți" sunt deseori confundați și chiar folosiți interschimbabil, deoarece sună la fel și ambele sunt scurtate cu litera "B". Cu toate acestea, atunci când scrieți corect, biții sunt trunchiați cu majuscule "b", iar octeții sunt tăiați cu majuscule - "B". Este important să nu confundăm acești doi termeni, deoarece orice măsurătoare în octeți conține opt ori mai mulți biți. De exemplu, un mic fișier text de 4 KB conține 4.000 de octeți sau 32.000 de biți.
În mod tipic, fișierele, dispozitivele de stocare și capacitatea de stocare sunt măsurate în octeți, iar ratele de date sunt măsurate în biți. De exemplu, o cartelă de memorie SSD poate avea o capacitate de 240 GB, în timp ce o sarcină poate fi transferată la 10 Mbps. În plus, biții sunt de asemenea utilizați pentru a descrie arhitectura procesorului, cum ar fi un procesor pe 32 de biți sau pe 64 de biți.
Operațiuni binare în pascal
Nivelul de biți al operațiilor din Pascal implică lucrul cu biți individuali, care sunt cele mai mici unități de date de pe computer. Deși computerele sunt capabile să manipuleze biți, ele stochează de obicei date și execută instrucțiuni în mai multe valori bit-wise, numite octeți. Majoritatea limbajelor de programare, inclusiv operațiunile cu bit în Delphi, au grupuri de control de 8, 16 sau 32 de biți.
Descrierea procesului
Un operator bit este un simbol reprezentând o acțiune care funcționează cu date la nivelul biților, și nu cu octeți sau unități mari de date, deoarece este mai frecventă.
Cei mai mulți operatori convenționali lucrează cu unul sau mai mulți octeți, care în majoritatea sistemelor conțin opt biți. Deoarece oferă mai multă precizie și necesită mai puține resurse, operatorii bitumului pot face codul mai rapid și mai eficient. Exemplele de utilizare a operațiunilor cu biți includ:
criptare;
compresie;
grafică;
comunicare pe porturi / prize;
programarea sistemelor încorporate;
mașini cu starea finală.
Un operator bitar funcționează cu o reprezentare binară a unui număr, nu a valorii acestuia. Operandul este tratat ca un set de biți, nu ca un singur număr. Operatorii biți sunt asemănători în majoritatea limbilor de sprijin - C, Java, jаvascript, Python și Visual Basic.
De ce este important să le folosiți?
Operațiile de biți sunt absolut necesare atunci când programați registrele hardware în sistemele încorporate. Fiecare procesor are unul sau mai multe registre (de obicei o adresă de memorie specifică) care monitorizează dacă întreruperea este activată sau dezactivată. Pentru a permite unei întreruperi să înceapă un proces normal, trebuie să setați bitul de permisiune pentru acest tip de întrerupere și, cel mai important, să nu modificați nici unul dintre ceilalți biți din registru.Atunci când se declanșează o întrerupere, se fixează un pic în registrul de stare, astfel încât o rutină de serviciu poate determina cauza exactă a întreruperii. Testarea biților individuali vă permite să decodificați rapid sursa de întreruperi.
În multe sisteme încorporate, memoria totală disponibilă poate fi de 64, 128 sau 256 octeți. În acest mediu, un octet este de obicei utilizat pentru a stoca mai multe elemente de date și flag-uri booleene, iar apoi operațiile de biți sunt folosite pentru a le instala și a le citi.
- Ce este un sistem de numere binare?
- Reprezentarea datelor într-un calculator: codificarea binară a informațiilor
- O modalitate de codificare a informațiilor folosind numere. Codificare binară
- Pentru ce este sistemul de numere hexazecimale?
- Cod binar. Tipurile și lungimea codului binar. Cod binar invers
- Cum se convertesc octeți în megaocteți și înapoi?
- Câți biți în octeți? Ce este un pic și octet?
- Un pic este o unitate de informații
- Detalii despre modul de conversie a biților în octeți
- Operație logică. Operații logice de bază
- Ce este codarea și decodificarea? Exemple. Metode de codare și decodificare a informațiilor…
- Reprezentarea numerelor în computer. Reprezentarea numerelor întregi și a numerelor reale în…
- De ce codificarea binară este universală? Metode de programare
- Unitatea logică aritmetică (ALU) - ce este?
- Extensie - ce este?
- Numere binare: sistem numeric binar
- Cele mai populare sisteme de numere
- Traducerea de la binary la decimal este ușor
- Unități de informații
- Coduri binare: recenzii, comentarii, întrebări, răspunsuri
- Cum se deschide un fișier binar