Table of Contents
Cos'è il Sistema di Numeri Binari?
Il sistema di numeri binari, noto anche come base-2, è il linguaggio fondamentale di tutta l'elettronica digitale e l'informatica moderna. A differenza del sistema decimale che utilizza dieci cifre (0-9), binari utilizza solo due simboli: 0]] e ]1] Ogni cifra binaria è chiamata un
Storicamente, il sistema binario risale ai tempi antichi, ma la sua forma moderna è stata sviluppata da Gottfried Wilhelm Leibniz nel XVII secolo. Leibniz ha riconosciuto che il binario potrebbe essere utilizzato per eseguire aritmetica utilizzando un semplice insieme di regole, un concetto che in seguito è diventato la base dell'architettura del computer. Oggi, ogni dispositivo digitale — smartphone, computer portatili, cloud server, sensori IoT — funziona manipolando numeri binari.
Come funzionano i numeri binari
I numeri binari sono letti da destra a sinistra, con ogni posizione corrispondente ad una potenza di 2. La cifra più destra è il luogo 20 (unità), la cifra successiva è 21 (due), poi 22 (quattro), 23 (otto), e così via. Per trovare il valore decimale di un numero binario, sommate i poteri di 2 ovunque la cifra sia 1.
Ad esempio, il numero binario 1101 rappresenta:
- 1 × 23 = 8
- 1 × 22 = 4
- 0 × 21 = 0
- 1 × 20 = 1
Totale: 8 + 4 + 0 + 1 = 13] in decimale. Al contrario, il valore decimale 13 in binario è 1101.
Con n]] bit, è possibile rappresentare interi da 0 a 2n − 1. Ad esempio, 8 bit (un byte) possono rappresentare da 0 a 255; 16 bit possono rappresentare da 0 a 65,535; 32 bit possono rappresentare oltre 4 miliardi di valori. Questo principio è fondamentale per la comprensione dei tipi di dati in termini di comprensione.
Convertire Binary in Decimale
Ci sono metodi standard per convertire i numeri binari in decimale. Il più semplice è il metodo di notazione posizionale[], come mostrato sopra. Un'altra tecnica popolare è il metodo di raddoppiamento[, che funziona come questo:
- Inizia dalla cifra più sinistra.
- Moltiplicare il risultato attuale di 2, quindi aggiungere la cifra successiva.
- Ripetere fino a quando tutte le cifre sono elaborate.
Convertiamo binario 1101 di nuovo utilizzando il metodo raddoppiante:
- Inizio: 0 (prossimo iniziale)
- Prima cifra 1: (0 × 2) + 1 = 1
- Seconda cifra 1: (1 × 2) + 1 = 3
- Terzo numero 0: (3 × 2) + 0 = 6
- Quarto numero 1: (6 × 2) + 1 = 13
Il metodo di raddoppiamento è efficiente per i calcoli mentali e spesso viene utilizzato nella programmazione per analizzare le stringhe binarie.
Per le frazioni binarie, il concetto si estende a potenze negative di 2. Ad esempio, il binario 0.101 è pari a 1 × 2−1 + 0 × 2−2 + 1 × 2−3 = 0,5 + 0 + 0,125 = 0,625 in decimale.
Convertire Decimale in Binary
Per convertire un numero decimale in binario, vengono utilizzati due metodi comuni: il metodo division[] e il metodo di sottotrazione[]. Il metodo di divisione è più comune per i numeri interi:
- Dividere il numero decimale per 2.
- Registrare il resto (0 o 1) — questo diventa il bit meno significativo.
- Ripetere la divisione sul quoziente fino a quando il quoziente non diventa 0.
- Il numero binario è il resto letto da ultimo a primo.
Esempio: Converti decimale 25 in binario.
- 25 ÷ 2 = 12 rimanenti 1]
- 12 ÷ 2 = 6 rimanenti 0]
- 6 ÷ 2 = 3 rimanenti 0]
- 3 ÷ 2 = 1 residuo 1]
- 1 ÷ 2 = 0 rimanente 1]
Rimangono di lettura dal basso all'alto: 11001. Quindi decimale 25 = binario 11001.
Per le frazioni decimali, si moltiplicano per 2 successivamente, estraendo la parte interi ogni volta. Ad esempio, 0.625 × 2 = 1.25, parte interi 1; 0.25 × 2 = 0,5, parte interi 0; 0.5 × 2 = 1.0, parte interi 1. La frazione binaria è 0.101.
Arithmetic binario
L'aritmetica binaria segue le stesse regole logiche come l'aritmetica decimale, ma perché ci sono solo due cifre, le operazioni sono più semplici. La padronanza dell'aritmetica binaria è essenziale per capire come le CPU, ALU e i circuiti digitali eseguono i calcoli.
Aggiunta binaria
Le regole di base per l'aggiunta binaria sono:
- 0 0 = 0 = 0
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 0, con un trasporto di 1 (dal 1 + 1 = 10 in binario)
- 1 + 1 + 1 = 1, con un porto di 1
Esempio: Aggiungi 1011 (decimale 11) e 1101 (decimale 13).
1011 + 1101 ------- 11000 (decimal 24)
Partiamo da destra: 1+1=0 porta 1; colonna successiva: 1+0+carry1 = 0 port1; successiva: 0+1+carry1 = 0 port1; successiva: 1+1+carry1 = 1 port1; porta finale 1 dà 11000. Questo mostra che l'aggiunta binaria può produrre un bit extra (overflow) se il risultato supera il numero di bit.
Subtrazione binaria
La sottrazione binaria può essere eseguita direttamente utilizzando il prestito (simile a decimale) o, più comunemente, nell'elettronica digitale, utilizzando due's complement[]].
- 0 − 0 = 0
- 1 − 0 = 1
- 1 − 1 = 0
- 0 − 1 = 1, prendere in prestito 1 dal prossimo bit più alto
Tuttavia, i sistemi digitali preferiscono utilizzare il complemento di due per la sottrazione perché permette di eseguire la sottrazione con lo stesso hardware di aggiunta. Per sottrarre B da A, prendere il complemento di due di B e aggiungerlo a A. Il complemento di due è ottenuto invertendo tutti i bit di B (bitwise NOT) e aggiungendo 1.
Esempio: 1010 (10) − 0011 (3) = 0111 (7).
- Due complemento di 0011: invert → 1100, aggiungere 1 → 1101
- Aggiungi: 1010 + 1101 = 10111. Scontri il trasporto finale (se si utilizza la larghezza fissa) dà 0111 (7).
Questa tecnica è il motivo per cui la maggior parte delle CPU moderne implementano la sottrazione tramite un circuito di adder, semplificando la logica del gate design.
Multiplica binaria
La moltiplicazione binaria è analoga alla moltiplicazione decimale, ma anche più semplice perché esistono solo due cifre. Poiché 0 × nulla = 0 e 1 × nulla = se stesso, la moltiplicazione riduce al cambiamento e all'aggiunta. Ad esempio, moltiplicare 101 (5) per 011 (3):
101 × 011 ------- 101 (partial product: 101 × 1) 1010 (shifted one position: 101 × 1, second bit) + 00000 (101 × 0, third bit) ------- 01111 (decimal 15)
Molti microprocessori includono un'unità di moltiplicatore dedicata che utilizza algoritmi come la moltiplicazione di Booth per gestire i numeri firmati.
Divisione binaria
La divisione binaria segue la procedura di divisione a lungo raggio, ma ancora semplificata perché il divisore entra nel resto corrente esattamente una volta (1) o zero volte (0). I bit di quoziente sono costruiti confrontando il divisore con i bit di dividendo attuali. La divisione è il più complesso funzionamento aritmetico in binario, tipicamente implementato utilizzando algoritmi iterativi (ad esempio, ripristino o divisione non-restoring).
Altri sistemi di numeri correlati a binario
Altri due sistemi di numero posizionali sono ampiamente utilizzati nell'elettronica digitale a causa della loro stretta relazione con il binario: esadecimale (base‐16) e ottale (base‐8).
Esadecimale
Esadecimale utilizza 16 cifre: 0‐9 e A‐F (dove A=10, B=11, C=12, D=13, E=14, F=15). Dal 16 = 24, ogni cifra esadecimale corrisponde esattamente a quattro bit binari. Ad esempio, il numero binario 1111 1010 1100 può essere raggruppato in nibbles (4 gruppi a bit) e convertito direttamente in esagonale = F, 1010
Per convertire l'esagonale in decimale, ogni posizione è una potenza di 16. Ad esempio, esagonale 3A = 3 × 161 + 10 × 160 = 48 + 10 = 58 decimale.
Ottale
Octal utilizza cifre 0‐7, e ogni cifra corrisponde a tre bit binari. Octal è storicamente popolare nei vecchi sistemi informatici (ad esempio, PDP‐8, Unix permessi di file). Ad esempio, il binario 101 010 111 può essere raggruppato in blocchi a tre bit: 101=5, 010=2, 111=7, dando ottale 527. Oggi, l'ottal è meno comune in alcuni sistemi di calcolo mainstream, ma è ancora usato.
Applicazioni dei numeri binari
I numeri binari non sono solo una teoria astratta; sono la spina dorsale di ogni tecnologia digitale. Capire le loro applicazioni aiuta a chiarire perché il binario è insostituibile.
Logic Gates e circuiti digitali
Tutti i circuiti digitali — da semplici porte a microprocessori complessi — operano su ingressi binari e uscite. I gate logici (AND, OR, NOT, NAND, NOR, XOR, XNOR) prendono segnali binari e le combinano secondo algebra booleana. I circuiti combinati come adders, multiplexers e decoder usano numeri binari per eseguire il routing aritmetico e dei dati.
Microprocessori e CPU
L'unità di elaborazione centrale (CPU) esegue le istruzioni codificate come numeri binari. L'architettura del set di istruzioni (ISA) definisce i modelli binari per operazioni come ADD, LOAD, STORE e JUMP. La CPU elimina queste istruzioni binarie dalla memoria, li decodifica e utilizza l'unità di controllo per dirigere i dati attraverso l'ALU (che esegue l'aritme‐bit-moti binario).
Memoria e stoccaggio
Tutte le forme di memoria digitale — RAM, ROM, unità flash, SSD, dischi rigidi — memorizzano i dati come modelli binari. In memoria volatile (RAM), ogni cella tiene un po 'come carica in un condensatore o uno stato in un flip-flop. In memoria non volatile, i bit vengono memorizzati come domini magnetici, carica intrappolata in transistors galleggianti, o cambiamenti di fase in materiali speciali.
Comunicazione digitale
I protocolli di rete, da Ethernet a Wi‐Fi a 5G, trasmettono segnali binari. I pacchetti di dati contengono intestazioni (indirizzi di risorse/destinazione in binario), payload (dati binari), e codici di rilevamento di errore (ad esempio, CRC — una divisione polinomiale binaria). Lo strato fisico codifica bit come segnali modulati (ad esempio, ampiezza, frequenza o cambiamenti di fase).
Rappresentanza binaria dei numeri negativi
Per rappresentare interi firmati in binario, uso sistemi complemento di due (più comune), segno-magnitude, o il complemento di uno. Due's complemento permette lo stesso circuito di aggiunta per gestire i numeri sia positivi che negativi senza hardware speciale. In un sistema di complemento di 8 bit due, la gamma è −128 a +127. Il bit più alto agisce come segno bit negativo per 0 positivo.
Numeri di punto di galleggiamento
Per i numeri reali, i computer utilizzano la rappresentazione binaria a punto variabile come definita dallo standard IEEE 754. Un numero viene memorizzato come tre componenti: segno (1 bit), esponente (8 o 11 bit), e mantissa (23 o 52 bit). Ad esempio, il numero decimale 3.14 è approssimato in binario come una stringa finita di bit, perché alcune frazioni decimali non possono essere rappresentate esattamente in binario.
Conclusioni
Il sistema di numeri binari non è solo una curiosità accademica; è il linguaggio principale di tutta l'elettronica digitale. Dal microcontrollore più piccolo al più grande centro dati cloud, ogni operazione riduce a manipolazioni di 0s e 1s. Mastery of binari - comprese le conversioni, fondazioni aritmetiche, e il suo rapporto con la scienza esadecimale e ottale - consente agli ingegneri di progettare circuiti efficienti, ottimizzare le prestazioni del software e risolvere i problemi di hardware moderni.
Per ulteriori informazioni, L'articolo di Wikipedia sui numeri binari] fornisce una panoramica completa. I tutorial dettagliati sull'aritmetica binaria sono disponibili da TutorialsPoint ]. L'applicazione pratica della rappresentazione binaria nella logica digitale è ben spiegata in TutorialsPoint più profondo [FIE]