ideometer-yellow

Scritto in data:  Aprile 27, 2020

Quante cose si possono fare con 0 e 1? Il codice binario

“Ci sono solo 10 tipi di persone al mondo: chi conosce il codice binario e chi invece lo ignora”. In questo articolo scopriremo il suo grandissimo potere.



Potete godervi questo articolo anche attraverso il video di Scripta Manent. Trovate il loro sito qui.

Uno dei ricordi che mi è rimasto più impresso nella mente di tutte le cose che ho imparato da bambino è il giorno in cui sono riuscito a contare fino a 10. Ora, ad essere sincero, non so se fosse proprio quel giorno che sono riuscito a farlo per la prima volta, ma ricordo, stranamente con molta chiarezza, le mie 10 dita che si alzavano consecutivamente aiutandomi a scandire i numeri. 10. Che soddisfazione! Un qualcosa di così semplice che ancora adesso mi lascia particolarmente euforico.


Origine del sistema decimale

Potete immaginare il mio grande stupore quando durante i miei studi, analizzando il pensiero filosofico aristotelico, ho scoperto che probabilmente questo contare i numeri a 10 a 10 aveva avuto un’implicazione gigantesca sul sistema con cui facciamo di conto ogni giorno.

Il sistema decimale, fa notare il famosissimo filosofo greco, ha probabilmente origine proprio dal numero di dita che caratterizzano le nostre mani: 10. Diventa allora curioso immaginare in un pianeta ipotetico, nella vastità dell’universo, l’esistenza di una specie aliena senziente a cui il destino ha però concesso solamente 8 dita in totale. Questi, con ogni probabilità, avranno basato tutta la loro matematica su un sistema di numerazione ottale, ovvero un sistema in cui il riporto nato dalla somma di due numeri avviene quando si raggiunge la cifra 8 e non la cifra 10 come avviene nei nostri calcoli. Il sistema decimale non è nient’altro quindi che uno dei modi possibili per rappresentare graficamente le operazioni matematiche.

Ma ne esistono altri, che vengono usati per specifiche applicazioni. Quello di cui parleremo in questo articolo è il sistema binario, il modo di rappresentare l’informazione all’interno delle componenti elettroniche. In questo sistema il riporto si ottiene già dal numero 2, dato che le uniche due cifre utilizzabili sono 0 e 1.


Perché proprio il sistema binario?

Credo sia più che lecito chiedersi perché non utilizzare anche all’interno dei computer un sistema di numerazione decimale. Ha davvero senso utilizzare un modello diverso che rischierebbe di confondere solo le idee? Per quanto condivido le perplessità di alcuni, la risposta è presto pronta. Nell’elettronica sarebbe stato necessario rappresentare tutte le cifre che vanno da 0 a 9 con differenti livelli di tensione, che a livello tecnico avrebbe comportato non poche complicazioni (se vuoi approfondire perché si usa la tensione per rappresentare un informazione leggi qui).

Per rappresentare le uniche due cifre necessarie nel sistema binario, 0 e 1, basta invece esclusivamente il concetto di accesso o spento: quando ho tensione posso banalmente ipotizzare che ci sia un 1, quando invece questa tensione non è presente allora ho uno 0. Molto spesso nella realtà le cose vanno sempre in modo un po’ più complesso dell’idea originale, infatti è molto difficile che sia usato esattamente questo metodo per rappresentare le cifre, anche se comunque ci si avvicina molto.


Come si conta nel sistema binario

Questa apparente perdita di informazioni data da un numero minore di cifre utilizzabili, in realtà non comporta nessuna differenza nella quantità di numeri rappresentabili. Naturalmente i numeri saranno composti esclusivamente da 0 e 1, ma questo non modifica minimamente tutte le proprietà matematiche che intrinsecamente i numeri possiedono. Cambia la cifra da cui nasce il riporto, ma i conti funzionano esattamente allo stesso modo. Nel sistema decimale abbiamo ad esempio 9 + 1 = 10, in quello binario sarà 1 + 1 = 10 che però in questo caso rappresenterà il numero 2. Ecco di seguito il modo in cui continua la progressione binaria e la sua corrispondenza nel sistema decimale:

Sistema DecimaleSistema Binario
11
210
311
4100
5101
6110
7111

Altre applicazioni: la codifica binaria

E’ necessario creare, al fine di riuscire a utilizzare queste tensioni, delle zone nel circuito elettrico in cui sia possibile leggere il valore effettivo. Questo “spazio” fisico viene chiamato bit ed è il mattone portante di tutta la codifica dell’informazione nel mondo informatico. Per rappresentare un numero si utilizza un insieme di bit, precisamente 8, che costituisce il byte. Le informazioni vengono salvate proprio all’interno dei byte, ma la loro corrispondenza reale può essere diversa dal numero matematico rappresentato. Possiamo ad esempio utilizzare i byte per rappresentare i colori necessari per i pixel delle nostre foto (qui trovi un approfondimento).


Codifica binaria RGB

Facciamo un esempio pratico. Uno dei metodi per rappresentare i colori è il sistema RGB (Red, Green, Blue), ovvero usare una tripla di numeri rappresentanti rispettivamente la quantità di rosso, verde e blu presenti nel colore che vogliamo ottenere. Se volessimo ad esempio ottenere il rosso basterebbe avere (255,0,0). Il numero 255 non è casuale, ma è infatti il numero massimo rappresentabile tramite un byte: 1111 1111. Il colore (255,0,0) banalmente vuol dire: “Tutto il rosso possibile, 0 verde, 0 blu”. Analogamente se volessimo ottenere il giallo potremmo rappresentarlo con (255,255,0). Mischiando il rosso e il verde nel sistema RGB si ottiene il giallo. Ogni numero della tripla è di fatto un byte.


Codifica binaria ASCII

I byte possono essere utilizzati anche per rappresentare le lettere, fondamentali per codificare tutte le nostre lingue. In questo caso l’associazione è molto più semplice: un byte può contenere 28 numeri diversi, esattamente 256 (da 0 a 255) che è il numero massimo rappresentabile. Ad ogni numero viene associato una lettera, ma dato che le lettere sono solamente 52 (tra maiuscole e minuscole), possiamo utilizzare gli altri simboli rimanenti per i segni di interpunzione (virgola, punto, punto interrogativo e così via) e le varie vocali accentate(à,è,é,ì,ò,ù). In questo modo abbiamo una corrispondenza diretta tra byte e lettere. Ad esempio il byte 0100 0001 è la lettera A, 0100 0010 è la lettera B e così via. Questo tipo di codifica è chiamata ASCII, qui trovi la tabella di conversione completa.


Non finisce qui

Questi sono solamente due dei tanti tipi di codifica esistenti nel mondo informatico, ma penso ormai ti sia chiaro quante numerose siano le applicazioni possibili con solamente 0 e 1. Tutto passa attraverso queste due cifre e la loro corrispondente versione fisica: la tensione.

“Esistono solamente 10 tipi di persone al mondo: quelle che conoscono come funziona il sistema binario e chi invece lo ignora.” Adesso anche tu sai da che parte stare.

Come sempre ti ringrazio di essere arrivato fino in fondo. Se ti è piaciuto l’articolo condividilo con i tuoi amici. Iscriviti al canale Telegram per rimanere sempre aggiornato (puoi farlo qui). Io ti saluto e ci leggiamo alla prossima!



Per chi vuole approfondire:

Manuale del codice binario: https://www.amazon.it/manuale-codice-binario-Elettronica-Informatica-ebook/dp/B076ZY2X1K

Sistema RGB: https://www.tuttoleo.it/sistema-rgb-colori-primari-e-complementari/

Tabella Ascii: http://www.brescianet.com/appunti/vari/tabellaascii/ascii.htm

📝Autore

Gallottino

Giovane studente di ingegneria informatica. Appassionato di tecnologia e giochi. Collezionista di progetti iniziati e mai finiti. Adora dormire con la scusa di essere un instancabile sognatore.

📮 CANALE TELEGRAM

Se vuoi rimanere aggiornato sulle ultime novità del canale puoi iscriverti al canale Telegram del blog. All'interno troverai informazioni extra riguardo gli articoli, comunicazioni di vario genere e tutti i progressi che il blog sta facendo. Iscriviti al canale e non perderti nessun aggiornamento!

ISCRIVITI QUI!

📚Articoli correlati

Ti è piacuto l'articolo? Leggine un altro!