Calculator Binar
Efectuează adunare, scădere, înmulțire și împărțire în sistem binar. Convertește între binar și zecimal. Calculator matematic gratuit. Rezultate instant.
Sistemul de numerație binar: cum numără calculatoarele
Sistemul de numerație binar (baza 2) folosește doar două cifre — 0 și 1 — numite biți (cifre binare). Fiecare calculator, smartphone și dispozitiv digital stochează și procesează intern toate informațiile în binar, deoarece circuitele electrice pot reprezenta în mod fiabil două stări distincte: tensiune ridicată (1) și tensiune joasă (0).
Fiecare poziție dintr-un număr binar reprezintă o putere a lui 2, crescând de la dreapta la stânga:
| Poziția | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Valoare | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Conversia binar în zecimal: Înmulțești fiecare bit cu valoarea pozițională și sumezi toate rezultatele.
Exemplu: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181
Conversia zecimal în binar: Împarți repetat la 2, înregistrând restul la fiecare pas, apoi citești resturile de jos în sus.
Exemplu: Convertește 181 în binar:
- 181 ÷ 2 = 90 rest 1
- 90 ÷ 2 = 45 rest 0
- 45 ÷ 2 = 22 rest 1
- 22 ÷ 2 = 11 rest 0
- 11 ÷ 2 = 5 rest 1
- 5 ÷ 2 = 2 rest 1
- 2 ÷ 2 = 1 rest 0
- 1 ÷ 2 = 0 rest 1
Citind resturile de jos în sus: 10110101₂ ✓
Aritmetica binară: adunare, scădere și înmulțire
Aritmetica binară urmează aceleași reguli ca cea zecimală, dar transporturile se produc la 2 în loc de 10.
Reguli de adunare binară: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (transport 1), 1+1+1=11 (transport 1)
Exemplu: 1011₂ + 1101₂ (11 + 13 = 24)
1011 + 1101 ------ 11000
De la dreapta la stânga: 1+1=10 (scrii 0, transport 1); 1+0+1=10 (scrii 0, transport 1); 0+1+1=10 (scrii 0, transport 1); 1+1+1=11 (scrii 1, transport 1); transport final scrie 1. Rezultat: 11000₂ = 24 ✓
Complement față de 2 (scăderea binară): Calculatoarele tratează numerele negative și scăderea folosind reprezentarea în complement față de 2. Pentru a găsi complementul față de 2 al unui număr: inversezi toți biții, apoi adaugi 1.
Exemplu: −13 în complement față de 2 pe 8 biți: +13 = 00001101₂ → inversezi toți biții → 11110010₂ → adaugi 1 → 11110011₂
Înmulțirea binară este elegantă: fiecare produs parțial este fie 0 (înmulțire cu 0) fie numărul însuși (înmulțire cu 1), deplasat la stânga. Exemplu: 1011₂ × 101₂ (11 × 5 = 55):
1011
× 101
-----
1011 (1011 × 1)
0000 (1011 × 0, deplasat)
1011 (1011 × 1, deplasat de două ori)
-------
110111₂ = 55 ✓
Binar în informatică: biți, bytes și dimensiuni de date
Înțelegerea unităților binare este esențială pentru oricine lucrează cu calculatoare, stocare sau viteze de rețea:
| Unitate | Dimensiune | Valoare maximă (nesemnată) | Utilizare comună |
|---|---|---|---|
| Bit | 1 cifră binară | 1 | Indicator boolean, valoare binară unică |
| Nibble | 4 biți | 15 (hex: F) | O cifră hexazecimală |
| Byte | 8 biți | 255 | Un caracter (ASCII), canal de culoare |
| Word | 16 biți | 65.535 | Sisteme vechi pe 16 biți, Unicode de bază |
| Double Word (DWORD) | 32 biți | 4.294.967.295 | Întregi pe 32 de biți, adrese IPv4 |
| Quad Word (QWORD) | 64 biți | 18.446.744.073.709.551.615 | Întregi moderni, pointeri, timestamp-uri |
Valorile culorilor: Culorile web folosesc RGB pe 24 de biți (8 biți per canal). #FF5733 = R:255, G:87, B:51. Fiecare canal de 8 biți poate reprezenta 256 de nuanțe (0–255). Total culori posibile: 256³ = 16.777.216 (aproximativ 16,7 milioane).
Permisiuni fișiere în Unix/Linux: rwxr-xr-- = 111 101 100 în binar = 7, 5, 4 în octal = chmod 754. Fiecare set de 3 biți reprezintă permisiunile de citire (r=4), scriere (w=2) și execuție (x=1) pentru proprietar, grup și alții.
Operații pe biți și aplicațiile lor
Operațiile pe biți manipulează biți individuali în cadrul numerelor întregi. Sunt fundamentale pentru programarea de nivel scăzut, criptografie, programarea de rețea și cod critic din punct de vedere al performanței.
| Operație | Simbol | Comportament | Exemplu |
|---|---|---|---|
| ȘI (AND) | & | 1 dacă AMBII biți sunt 1 | 1010 & 1100 = 1000 |
| SAU (OR) | | | 1 dacă ORICARE bit este 1 | 1010 | 1100 = 1110 |
| SAU EXCLUSIV (XOR) | ^ | 1 dacă biții sunt DIFERIȚI | 1010 ^ 1100 = 0110 |
| NU (NOT) | ~ | Inversează toți biții | ~1010 = 0101 |
| Deplasare stânga | << | Deplasează biții la stânga (×2 per deplasare) | 1011 << 1 = 10110 (×2) |
| Deplasare dreapta | >> | Deplasează biții la dreapta (÷2 per deplasare) | 1011 >> 1 = 0101 (÷2) |
Utilizări practice:
- Mascare de biți: Verifică dacă un bit specific este setat:
if (flags & 0b0100) { ... }— verifică dacă bitul 2 este 1. - Setarea unui bit:
flags = flags | 0b0100— setează bitul 2 la 1 indiferent de valoarea curentă. - Ștergerea unui bit:
flags = flags & ~0b0100— șterge bitul 2 la 0. - Înmulțire/împărțire rapidă cu puteri ale lui 2:
n << 3= n × 8;n >> 2= n ÷ 4. Deplasările de biți sunt operații la nivel CPU, semnificativ mai rapide decât înmulțirea. - Verificarea par/impar:
if (n & 1) { /* impar */ }— ultimul bit al oricărui număr impar este întotdeauna 1.
Comparație sisteme de numerație: binar, octal, zecimal, hexazecimal
Informatica folosește patru sisteme de numerație, fiecare potrivit pentru contexte diferite:
| Sistem | Baza | Cifre | Utilizare comună |
|---|---|---|---|
| Binar (baza 2) | 2 | 0, 1 | Operații CPU, stocare, logică |
| Octal (baza 8) | 8 | 0–7 | Permisiuni fișiere Unix, sisteme vechi |
| Zecimal (baza 10) | 10 | 0–9 | Numere lizibile de om |
| Hexazecimal (baza 16) | 16 | 0–9, A–F | Adrese de memorie, coduri de culoare, cod mașină |
Conversie rapidă: binar ↔ hex (4 cifre binare = 1 cifră hex):
| Binar | Hex | Zecimal | Binar | Hex | Zecimal |
|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
Această grupare de 4 biți face hexul extrem de util ca notație compactă pentru datele binare: valoarea de 32 de biți 11001010 00111111 10110101 00001100 este mult mai ușor de scris ca CA3FB50C.
Întrebări frecvente
De ce calculatoarele folosesc binar în loc de zecimal?
Circuitele electronice sunt cele mai fiabile cu doar două stări distincte: pornit (tensiune ridicată ≈ 1) și oprit (tensiune joasă ≈ 0). Reprezentarea a 10 stări distincte pentru zecimal ar necesita un control al tensiunii mult mai precis și ar fi mult mai susceptibilă la zgomot electric. Simplitatea binarului permite miliardelor de tranzistoare să funcționeze fiabil la viteze GHz cu miliarde de operații pe secundă.
Care este cel mai mare număr pe care îl poate stoca un byte?
Un byte (8 biți) poate reprezenta 2⁸ = 256 valori diferite. Pentru întregi fără semn: 0 la 255. Pentru întregi cu semn (complement față de 2): −128 la 127. Valoarea maximă a unui byte fără semn în binar este 11111111₂ = 255; în hex este FF.
Cum convertesc un număr negativ în binar?
Folosești complementul față de 2: (1) Convertești versiunea pozitivă în binar, (2) Inversezi toți biții (0→1, 1→0), (3) Adaugi 1. Exemplu — −13 pe 8 biți: +13 = 00001101₂, inversezi biții = 11110010₂, adaugi 1 = 11110011₂. Acesta este modul în care toate calculatoarele moderne stochează numerele întregi negative.
Care este diferența dintre binar și hexazecimal?
Ambele sunt sisteme de numerație poziționale folosite în informatică. Binarul (baza 2) folosește doar 0 și 1 — limbajul nativ al calculatoarelor. Hexazecimalul (baza 16) folosește 0–9 și A–F ca notație compactă pentru binar — fiecare 4 cifre binare corespund exact 1 cifrei hex. Hexul este folosit pentru adrese de memorie, coduri de culoare (#RRGGBB) și cod mașină deoarece este mai compact și lizibil decât binarul brut.
La ce sunt folosite operațiile pe biți?
Operațiile pe biți (AND, OR, XOR, NOT, deplasări) manipulează biți individuali în cadrul numerelor întregi. Utilizări comune: indicatoare de biți și permisiuni (Unix chmod), verificarea par/impar (n & 1), înmulțire/împărțire rapidă cu puteri ale lui 2 (deplasări de biți), algoritmi de criptare, funcții hash, detectarea erorilor CRC, mătile de subrețea de rețea și dezvoltarea jocurilor.
Ce este virgula mobilă binară și de ce 0,1 + 0,2 ≠ 0,3 în programare?
Cele mai moderne calculatoare folosesc virgula mobilă binară IEEE 754, care reprezintă fracțiile zecimale în binar. La fel cum 1/3 = 0,3333... nu poate fi reprezentat exact în zecimal, 1/10 nu poate fi reprezentat exact în binar (este o fracție binară infinit repetitivă). Aceasta provoacă erori minore de rotunjire: în cele mai multe limbaje, 0,1 + 0,2 = 0,30000000000000004. Folosește aritmetica de întregi sau biblioteci zecimale pentru calcule financiare exacte.
Cum este folosit binarul în stocarea datelor și dimensiunile fișierelor?
Stocarea se măsoară în bytes (8 biți), kilobytes (1.024 bytes), megabytes (1.024 KB), gigabytes (1.024 MB) etc. Producătorii de hard disk-uri folosesc prefixe SI (1 KB = 1.000 bytes) în timp ce sistemele de operare folosesc prefixe binare (1 KiB = 1.024 bytes), cauzând discrepanța aparentă de „spațiu lipsă" când cumperi stocare.
Ce este BCD (zecimal codificat binar)?
BCD codifică fiecare cifră zecimală ca grup binar de 4 biți: 0=0000, 1=0001, ..., 9=1001. Deci zecimalul 93 în BCD este 1001 0011. BCD este folosit în sisteme financiare (evită erorile de rotunjire în virgulă mobilă), ceasuri digitale și afișaje și sisteme vechi mainframe.