03/09/2015
Il sistema Binario
Tutti sanno che la nostra matematica si basa su numeri in notazione decimale e molti sanno che i computer, invece, utilizzano il sistema binario, ma perchè? Analizzata superficialmente la scelta dei numeri binari, fatti di sole due cifre (zero e uno) sembra un insulto al buonsenso, uno spreco.
Pensate che per scrivere in codice binario 2100 si devono usare 12 cifre, ovvero:1000 00110100. In compenso le quattro operazioni aritmetiche sono assai semplici.
Addizione:0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10(cioè zero con riporto di 1 nella decina)Sottrazione:0 - 0 = 01 - 0 = 11 - 1 = 00 - 1 = 1 Moltiplicazione:0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1 Divisione:0 : 0 = 00 : 1 = 01 : 0 = 01 : 1 = 1 Senza annoiare con prove ed esempi, visto che tanto nessuno di noi ha intenzione di mettersi a fare i conti in codice binario, cerchiamo invece di capire subito perchè tutti i computer moderni abbiano scelto questo tipo di notazione, semplicissima, ma molto più lunga.
Abbiamo detto che la notazione binaria si avvale di due cifre, ma ciò non è del tutto vero.
Teniamo prima di tutto presente che anche il sistema binario è un tipo di numerazione posizionale, dove la cifra più a destra rappresenta l'unità, seguita poi dalla decina, centinaia, migliaia e via di seguito.
Solo che ogni posizione è una potenza di due.
In realtà se immaginassimo una fila di caselle come questa:|_|_|_|_|_|_|_|_| la prima casella a destra se contenesse una "x" varrebbe 1, la seconda posizione varrebbe 2, la terza 4, la quarta 8, la quinta 16, la sesta 32, l'ottava 64 e via di seguito, sempre raddoppiando il valore della casella precedente.
Adesso avete anche capito perchè le memorie di un computer hanno valori che sono sempre potenze di due, vero? 64kb, 128kb, 256kb, ecc., sono tutte appunto potenze di due.
Visto allora i valori che può assumere qualsiasi casella sarebbe sufficiente indicare in quali posizioni siano presenti le cifre "1", lasciando vuote le posizioni corrispondenti allo "0", come in questo esempio:|_|X|_|_|X|X|allora se conosciamo la posizione delle "x" non ci serve usare altri numeri, giusto?Se sommassimo le potenze di due delle singole posizioni in cui c'è una "x" otterremo:1 + 2 + 16, cioè 19.
Quindi in pratica il sistema binario si può esprimere con un unico simbolo (meno di così non si può di sicuro!).
Gli zeri li mettiamo noi nello scritto per tenere occupata ogni posizione vuota.
A questo punto diventa facile in un circuito elettrico usare un unico tipo di segnale che se presente ci darà "1" come valore posizionale e se manca ci darà "0".
Basta un semplice impulso, basta il concetto "acceso" o "spento", "presente" o "assente".
Mentre se volessimo utilizzare le nostre bene amate dieci cifre dallo 0 al 9 dovremmo creare circuiti aritmetici in grado di distinguere almeno 9 segnali diversi tra loro.
Diventerebbe tutto estremamente complicato e delicato! Pensate poi di estendere il concetto alla memorizzazione di una lettera dell'alfabeto e di tutti i caratteri speciali che usiamo sulla tastiera.
Ci sarebbe da impazzire.
Non è facile in un circuito creare segnali diversi l'uno dall'altro.
Con il sistema del codice binario, invece, qualsiasi sia il supporto in cui vogliamo memorizzare un dato, ci basterà applicare la convenzione del segnale presente o assente in una data posizione.
Le cifre (e i dati che esprimono altri caratteri) s'allungano di sicuro, ma il concetto si sviluppa in modo assolutamente premiante in termini di semplicità e quindi di affidabilità.
Anche a noi capita a volte di non capire bene se una cifra scritta un pò male a mano sia un 3 o un 8, oppure un 9 o uno 0, ecc.
, no? Mentre la X dell'analfabeta è sempre chiara! Questa la ragione per cui tutti i computer usano nel loro interno un sistema elementare di registrazione binaria.