Che cos'è il binario e perché i computer lo usano?

Sommario:

Che cos'è il binario e perché i computer lo usano?
Che cos'è il binario e perché i computer lo usano?

Video: Che cos'è il binario e perché i computer lo usano?

Video: Che cos'è il binario e perché i computer lo usano?
Video: Le 12 Cose che Faccio quando Configuro un nuovo Mac: Impostazioni, App e Trucchetti - YouTube 2024, Marzo
Anonim
I computer non capiscono parole o numeri come fanno gli umani. Il software moderno consente all'utente finale di ignorarlo, ma ai livelli più bassi del computer, tutto è rappresentato da un segnale elettrico binario che si registra in uno dei due stati: acceso o spento. Per dare un senso a dati complicati, il tuo computer deve codificarlo in binario.
I computer non capiscono parole o numeri come fanno gli umani. Il software moderno consente all'utente finale di ignorarlo, ma ai livelli più bassi del computer, tutto è rappresentato da un segnale elettrico binario che si registra in uno dei due stati: acceso o spento. Per dare un senso a dati complicati, il tuo computer deve codificarlo in binario.

Binary è un sistema di numeri di base 2. Base 2 significa che ci sono solo due cifre-1 e 0-che corrispondono agli stati on e off che il tuo computer può capire. Probabilmente hai familiarità con la base 10, il sistema decimale. Decimal utilizza dieci cifre che vanno da 0 a 9, quindi si avvolge per formare numeri a due cifre, con ogni cifra che vale dieci volte di più dell'ultima (1, 10, 100, ecc.). Il binario è simile, con ogni cifra che vale due volte di più dell'ultima.

Conteggio in binario

In binario, la prima cifra vale 1 in decimale. La seconda cifra vale 2, la terza vale 4, la quarta vale 8, e così raddoppia ogni volta. Aggiungendo questi tutti si ottiene il numero in decimale. Così,
In binario, la prima cifra vale 1 in decimale. La seconda cifra vale 2, la terza vale 4, la quarta vale 8, e così raddoppia ogni volta. Aggiungendo questi tutti si ottiene il numero in decimale. Così,

1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)

Contabile per 0, questo ci dà 16 possibili valori per quattro bit binari. Passa a 8 bit e hai 256 valori possibili. Ciò richiede molto più spazio da rappresentare, poiché quattro cifre in decimale ci danno 10.000 valori possibili. Potrebbe sembrare che stiamo affrontando tutto questo problema di reinventare il nostro sistema di conteggio solo per renderlo più clunkier, ma i computer comprendono il binario molto meglio di quanto comprendano i decimali. Certo, il binario occupa più spazio, ma siamo trattenuti dall'hardware. E per alcune cose, come l'elaborazione logica, il binario è migliore del decimale.

C'è un altro sistema di base che viene anche usato nella programmazione: esadecimale. Sebbene i computer non siano esadecimali, i programmatori lo usano per rappresentare gli indirizzi binari in un formato leggibile dall'uomo durante la scrittura del codice. Questo perché due cifre esadecimali possono rappresentare un intero byte, otto cifre in binario. Esadecimale usa 0-9 come il decimale, e anche le lettere da A a F per rappresentare le sei cifre aggiuntive.

Quindi, perché i computer usano il binario?

La risposta breve: l'hardware e le leggi della fisica. Ogni numero nel tuo computer è un segnale elettrico, e nei primi giorni dell'informatica, i segnali elettrici erano molto più difficili da misurare e controllare molto precisamente. Aveva più senso distinguere solo tra uno stato "on" rappresentato da una carica negativa e uno stato "off", rappresentato da una carica positiva. Per chi non è sicuro del perché il "off" è rappresentato da una carica positiva, è perché gli elettroni hanno una carica negativa: più elettroni significano più corrente con una carica negativa.

Quindi, i primi computer di dimensioni normali utilizzavano binari per costruire i loro sistemi, e anche se usavano hardware molto più vecchio e ingombrante, abbiamo mantenuto gli stessi principi fondamentali. I computer moderni usano ciò che è noto come transistor per eseguire calcoli con binari. Ecco un diagramma di come si presenta un transistor ad effetto di campo (FET):

Essenzialmente, consente solo alla corrente di fluire dalla sorgente allo scarico se c'è una corrente nel gate. Questo forma un interruttore binario. I produttori possono costruire questi transistor incredibilmente piccoli, fino a 5 nanometri, o circa le dimensioni di due filamenti di DNA. Questo è il modo in cui operano le moderne CPU, e anche loro possono soffrire di problemi che distinguono tra stati on e off (anche se ciò è dovuto principalmente alla loro dimensione molecolare irreale, essendo soggetti alla stranezza della meccanica quantistica).
Essenzialmente, consente solo alla corrente di fluire dalla sorgente allo scarico se c'è una corrente nel gate. Questo forma un interruttore binario. I produttori possono costruire questi transistor incredibilmente piccoli, fino a 5 nanometri, o circa le dimensioni di due filamenti di DNA. Questo è il modo in cui operano le moderne CPU, e anche loro possono soffrire di problemi che distinguono tra stati on e off (anche se ciò è dovuto principalmente alla loro dimensione molecolare irreale, essendo soggetti alla stranezza della meccanica quantistica).

Ma perché solo Base 2?

Quindi potresti pensare "perché solo 0 e 1? Non potresti semplicemente aggiungere un'altra cifra? "Mentre alcuni di essi si riferiscono alla tradizione nel modo in cui i computer sono costruiti, aggiungere un'altra cifra significherebbe che dovremmo distinguere tra diversi livelli di corrente, non solo" off "e" on ", "Ma dice anche" un po '"e" molto ".

Il problema qui è che se si desidera utilizzare più livelli di voltaggio, è necessario un modo per eseguire facilmente calcoli con loro e l'hardware non è fattibile come sostituzione per il calcolo binario. In effetti esiste; si chiama computer ternario, ed è in circolazione dagli anni '50, ma questo è praticamente il punto su cui si è fermato lo sviluppo. La logica ternaria è molto più efficiente di quella binaria, ma fino ad ora, nessuno ha un sostituto efficace per il transistor binario, o per lo meno non è stato fatto alcun lavoro per svilupparli alle stesse minuscole scale del binario.

Il motivo per cui non possiamo usare la logica ternaria si riduce al modo in cui i transistor sono impilati in un computer - qualcosa chiamato "gates" -e come sono abituati a fare matematica. I gate accettano due input, eseguono un'operazione su di essi e restituiscono un'uscita.

Questo ci porta alla lunga risposta: la matematica binaria è molto più semplice per un computer di qualsiasi altra cosa. La logica booleana si associa facilmente ai sistemi binari, con True e False rappresentati da on e off. I gate del computer operano sulla logica booleana: prendono due input ed eseguono un'operazione su di essi come AND, OR, XOR e così via. Due ingressi sono facili da gestire.Se dovessi rappresentare graficamente le risposte per ogni possibile input, avresti la cosiddetta tabella di verità:
Questo ci porta alla lunga risposta: la matematica binaria è molto più semplice per un computer di qualsiasi altra cosa. La logica booleana si associa facilmente ai sistemi binari, con True e False rappresentati da on e off. I gate del computer operano sulla logica booleana: prendono due input ed eseguono un'operazione su di essi come AND, OR, XOR e così via. Due ingressi sono facili da gestire.Se dovessi rappresentare graficamente le risposte per ogni possibile input, avresti la cosiddetta tabella di verità:
Una tabella di verità binaria che funziona sulla logica booleana avrà quattro possibili output per ciascuna operazione fondamentale. Ma poiché le porte ternarie prendono tre input, una tabella di verità ternaria ne avrebbe 9 o più. Mentre un sistema binario ha 16 possibili operatori (2 ^ 2 ^ 2), un sistema ternario avrebbe 19.683 (3 ^ 3 ^ 3). Il ridimensionamento diventa un problema perché mentre il ternario è più efficiente, è anche esponenzialmente più complesso.
Una tabella di verità binaria che funziona sulla logica booleana avrà quattro possibili output per ciascuna operazione fondamentale. Ma poiché le porte ternarie prendono tre input, una tabella di verità ternaria ne avrebbe 9 o più. Mentre un sistema binario ha 16 possibili operatori (2 ^ 2 ^ 2), un sistema ternario avrebbe 19.683 (3 ^ 3 ^ 3). Il ridimensionamento diventa un problema perché mentre il ternario è più efficiente, è anche esponenzialmente più complesso.

Chissà? In futuro, potremmo iniziare a vedere i computer ternari diventare una cosa, poiché spingiamo i limiti del binario a un livello molecolare. Per ora, però, il mondo continuerà a funzionare su file binari.

Crediti immagine: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia

Consigliato: