Codice binario – a cosa serve il sistema binario?
In informatica il codice binario, vale a dire il sistema binario, è onnipresente ed è ancora noto a molti forse grazie alle lezioni di matematica. Un tale codice, con due soli stati, riproduce anche elementi complessi ed è spesso di difficile comprensione per le persone che si fidano solo del sistema decimale e delle sue 10 cifre. Al riguardo il codice binario presenta da un lato dei vantaggi e dall’altro è necessario dal punto di vista tecnico.
Cos’è il codice binario?
La maggior parte delle persone esegue i calcoli in base al sistema decimale nel quale ha a disposizione 10 cifre da 0 a 9 per posizione. I numeri più grandi sono rappresentati con una nuova posizione. Il sistema binario funziona in maniera analoga. Qui tuttavia abbiamo a disposizione, come il prefisso latino “bi” suggerisce, soltanto due cifre (o due stati): 0 e 1, acceso e spento, chiaro e scuro, vero e falso. Anche in questo caso i numeri più grandi sono rappresentati con posizioni diverse.
Codice binario: Un codice binario riproduce le informazioni soltanto attraverso l’uso di due diversi stati.
Conosciamo il sistema binario soprattutto nell’ambito dei computer, nel cui interno funziona tutto con gli uni e gli zeri. È così che vengono memorizzati i dati ed eseguiti i calcoli. Ma questo metodo di calcolo e questa rappresentazione di dati vengono impiegati anche in altre situazioni. Ogni volta che apprendiamo delle informazioni tramite uno dei due stati, si tratta fondamentalmente di un codice binario. Una luce intermittente in un dispositivo elettronico ci rivela se il dispositivo è in funzione o no, rimanendo su spento (stato 1) o acceso (stato 2).
Mediante la successione degli stati di acceso e spento si possono trasmettere informazioni anche molto più complesse. La scrittura Braille ad esempio, un sistema di scrittura per ciechi, si basa sul codice binario: ogni carattere viene riprodotto mediante una matrice a 6 punti. Attraverso la combinazione di elevazioni (1/on) e campi piatti (0/off) è possibile rappresentare diversi caratteri.
Storia del sistema binario: da Leibniz ai sistemi computerizzati
Anche se già nell’antichità sono stati utilizzati i codici binari per l’inoltro delle informazioni, il sistema binario, come lo conosciamo oggi, fu inventato alla fine del XVII secolo da Gottfried Wilhelm Leibniz. Il filosofo e matematico (e di fatto esperto universale) ricercò un metodo che trasformasse i concetti linguistici della logica (vero e falso) in un sistema matematico e optò per gli uni e gli zeri ancor oggi utilizzati.
Già un paio di decenni prima Francis Bacon (un filosofo inglese) si chiedeva come poter riprodurre un testo con l’ausilio di un codice binario. Un terzo esperto, George Boole, all’incirca un secolo e mezzo dopo Leibniz, ideò infine l’algebra booleana sulla base del sistema binario: un sistema con operatori logici, che ancora oggi è di fondamentale importanza in informatica.
Indipendentemente dai risultati europei, nel campo dell’aritmetica binaria si sono sviluppati dei sistemi analoghi anche in altre regioni del mondo, e questo in parte già molto tempo prima: i caratteri in Yijing (oppure I Ging), un testo cinese del III secolo avanti Cristo, si basano su un codice binario e si riferiscono a loro volta alla dualità di Ying und Yang.
Nel XX secolo infine si sviluppò la tecnica digitale e furono prodotti i primi calcolatori elettronici. Era compito dei pionieri del computer tradurre numeri e lettere in un sistema comprensibile per i computer stessi. Il codice binario è quindi predestinato proprio per il fatto che si può tradurre l’astrazione di 1 e 0 in stati fisici. Nell’elettrotecnica se c’è una tensione si applica 1, se non c’è tensione viene assunto 0.
Anche le schede perforate lavorano con un sistema binario per trasmettere informazioni: su questo tipo di scheda è possibile riprodurre un determinato quantitativo di caratteri attraverso un foro esistente o mancante. In questo modo possono essere memorizzati dei dati in modo permanente e comunque leggibili dalla macchina. Le schede perforate erano già in uso prima della scoperta dei computer, ad esempio nei telai o nei juke-box meccanici.
Il codice binario e il sistema binario, a un primo esame, sembrano essere sinonimi. Ma se si riflette sulle caratteristiche di un codice, si noterà la differenza: un codice è una traduzione regolamentata di caratteri. A ciascun carattere dell’originale viene assegnato un altro carattere o una sequenza di caratteri. Così è possibile convertire in ambo le direzioni. Al contrario un sistema esiste di per sé e non necessita di un confronto con un altro sistema. Se si fanno i calcoli nel sistema binario non c’è bisogno di fare riferimento al sistema decimale per ottenere dei risultati.
Ambedue sono presenti nel contesto IT: troviamo la codifica ad esempio nel codice ASCII. Con sette posizioni e due stati (1 e 0) è possibile riprodurre tutte le lettere dell’alfabeto latino e altri caratteri. Ma poiché in questo modo non sono raffigurati tutti i caratteri del mondo, si hanno a disposizione con UTF-8 persino da uno a 4 byte.
Comprendere la codifica binaria: come esegue i calcoli un computer?
I sistemi informatici conoscono le unità bit e byte. Un bit è una cifra del codice che può corrispondere a 1 o a 0. Pertanto anche la denominazione è un neologismo di binary digit, “cifra binaria” o “posizione binaria”. Un byte a sua volta corrisponde a 8 di questi bit. In linea di principio i computer sono dei calcolatori che, come una calcolatrice tascabile, lavorano con queste unità. Quando vogliamo eseguire un calcolo i numeri decimali vengono convertiti nel sistema binario.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 |
Se ora pensiamo in byte il numero decimale 5 può essere rappresentato in questo modo: 00000101. Gli zeri iniziali all’inizio del numero binario non influiscono sul valore e assicurano soltanto che si mantenga un formato fisso di 8 cifre.
Nel codice ASCII la rappresentazione della cifra 9 corrisponde a 0111001, 0 viene registrato corrispondentemente come 0110000. Questo dipende dalla posizione delle cifre nella tabella dei codici.
Proprio come nel sistema decimale ogni posizione corrisponde a una potenza. Mentre nel nostro sistema corrente si conta comunque sulla base di 10, nel sistema binario la base è 2. La prima posizione corrisponde quindi a 20, la seconda a 21, la terza a 22 ecc.. Un byte che corrisponde al numero decimale 23 può essere letto come segue:
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
Abbiamo quindi (decimale): 24 + 22 + 21 + 20 = 16 + 4 + 2 + 1 = 23
Anche i calcoli nel sistema binario funzionano come nel sistema decimale che conosciamo: 1100 + 1010 = 10110. Cosa succede nel calcolo? Per semplificare è possibile mettere in colonna l’addizione come nel calcolo scritto. Si conta da destra a sinistra.
- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 0 con riporto 1
Per i computer questi calcoli sono naturali e vengono eseguiti in ogni momento. Non importa se PC, smartphone, tablet o calcolatrice tascabile, senza codice binario i nostri strumenti digitali quotidiani sarebbero impensabili.