article

Il sistema numerico binario è un sistema numerico posizionale in base 2, cioè che utilizza 2 simboli, tipicamente 0 e 1, invece dei 10 del sistema numerico decimale tradizionale. Di conseguenza, la cifra in posizione N (da destra) si considera moltiplicata per 2^N (anziché per 10^N come avverrebbe nella numerazione decimale).

Ecco una tabella che confronta le rappresentazioni binarie, esadecimali e decimali di alcuni numeri:

binario esadecimale decimale 0000 = 0 = 0 0001 = 1 = 1 0010 = 2 = 2 0011 = 3 = 3 0100 = 4 = 4 0101 = 5 = 5 0110 = 6 = 6 0111 = 7 = 7 1000 = 8 = 8 1001 = 9 = 9 1010 = A = 10 1011 = B = 11 1100 = C = 12 1101 = D = 13 1110 = E = 14 1111 = F = 15

È usato in informatica per la rappresentazione interna dei numeri, grazie alla semplicità di realizzare fisicamente un elemento con due stati anziché un numero superiore, ma anche per la corrispondenza con i valori logici vero e falso.

È considerato tra le più grandi invenzioni del matematico tedesco G. Leibniz; purtroppo però essa cadde nel vuoto e solo nel 1847 verrà riscoperta, grazie al matematico inglese G. Boole, che aprirà l'orizzonte alle grandi scuole di logica matematica del '900 e soprattutto alla nascita del calcolatore elettronico.

La formula per convertire un numero da binario a decimale (dove con d si indica la cifra di posizione n all'interno del numero, partendo da 0) è

d_{(n-1)}2^{(n-1)} + ... + d_02^0 = N

Ad esempio 1001_2 = 1*2^3+0*2^2+0*2^1+1*2^0 = 9_{10}

Rappresentazioni di numeri binari


I numeri binari, in campo informatico, non sono utilizzati esclusivamente per memorizzare numeri interi positivi ma, mediante alcune convenzioni, è possibile scrivere numeri binari con segno e parte decimale senza introdurre nuovi caratteri (come la virgola e il segno meno, non memorizzabili su di un bit).

Rappresentazione in modulo e segno

Questo è il modo più semplice per rappresentare e distinguere numeri positivi e negativi: al numero binario vero e proprio viene anteposto un bit che, per convenzione, assume il valore 0 se il numero è positivo ed assume il valore 1 se il numero è negativo. Il grande difetto di questa rappresentazione è quello di avere due modi per scrivere il numero 0: 00000000 e 10000000 significano infatti +0 e -0.

Rappresentazione in complemento a 2

Questo metodo di rappresentazione ha notevoli vantaggi, soprattutto per effettuare somme e differenze: in pratica ai numeri viene anteposto un bit di valore zero; se poi il numero è negativo è necessario convertirlo in complemento a 2: per farlo è sufficiente leggere il numero da destra verso sinistra e invertire tutte le cifre a partire dal primo bit pari a 1 (escluso). Per fare un esempio:
-12_{10} = -01100_2 = 10100_{CA2}
Come è possibile notare seguendo questo metodo il primo bit diventa automaticamente il bit del segno (come per il metodo precedente). Viene però risolto il problema dell'ambiguità dello 0 (in complemento a 2 00000 e 10000 hanno significati diversi) e vengono enormemente facilitate le operazioni di somma e differenza, che si riducono alla sola operazione di somma: per spiegarmi meglio basta fare un esempio:
5_{10} - 10_{10} = 5_{10} + (-10)_{10} = 101_2 - 1100_2 = 00101_{CA2} + 10100_{CA2} = 11001_{CA2} = -00110_2 = -5_{10}

Rappresentazione a virgola fissa

Dato che in un bit non è rappresentabile la virgola il metodo più semplice per rappresentare numeri frazionari è quello di scegliere arbitrariamente la posizione della virgola (ad es. se si sceglie di usare 4 bit per la parte intera e 4 per la parte frazionaria: 10100101_2 significa 1010,0101_2).

Rappresentazione in virgola mobile P754

Esistono innumerevoli modi per rappresentare numeri in virgola mobile ma il sistema più utlizzato è lo standard IEEE P754; questo metodo comporta l'utilizzo della notazione scientifica, in cui ogni numero è identificato dal segno, da una mantissa (1,xxxxx) e dall'esponente (n^{yyyyy}). La procedura standard per la conversione da numero decimale a numero binario P754 è la seguente:
  1. Prima di tutto il numero, in valore assoluto, va convertito in binario.
  2. Il numero va poi diviso (o moltiplicato) per 2 fino a ottenere una forma del tipo 1,xxxxxx.
  3. Di questo numero viene eliminato l'1 iniziale (per risparmiare memoria)
  4. Il numero di volte per cui il numero è stato diviso (o moltiplicato) per 2 rappresenta l'esponente: questo valore (decimale) va espresso in eccesso 127, ovvero è necessario sommare 127 e convertire il numero risultante in binario.
A questo punto abbiamo raccolto tutti i dati necessari per memorizzare il numero: in base al numero di bit che abbiamo a disposizione possiamo utilizzare tre formati: il formato a precisione singola (32 bit), il formato a precisione doppia (64 bit) e il formato a precisione quadrupla (128 bit).
  1. Nel primo caso possiamo scrivere il valore utilizzando 1 bit per il segno, 8 bit per l'esponente e 23 bit per la mantissa
  2. Nel secondo caso servirà 1 bit per il segno, 11 bit per l'esponente e 52 per la mantissa.
  3. Nel terzo caso servirà 1 bit per il segno, 15 bit per l'esponente e 112 per la mantissa.

Per esempio, convertiamo il valore -14,3125_{10} in binario P754 single:

  1. Convertiamo prima di tutto il numero: 14_{10} = 1110_2 per la parte intera e 0,3125_{10} = 0,0101_2. Quindi il numero definitivo è 1110,0101_2 (segno escluso).
  2. Dividiamo poi il numero per 2 per ottenere la seguente notazione: 1110,0101_2 = 1,1000101_2 * 2^3
  3. La mantissa diventa, quindi: 1000101.
  4. Per esprimere l'esponente in eccesso 127, infine: 127 + 3 = 130_{10} = 10000010_2
Il numero, alla fine, sarà espresso nel formato:
1 10000010 10001010000000000000000

Voci correlate


Sistemi di numerazione

Binêre getallestelsel | نظام عد ثنائي | Binarni sistem | Codi binari | Binære talsystem | Dualsystem | Δυαδικό σύστημα | Binary numeral system | Duuma sistemo | Sistema binario | Kahendsüsteem | Zenbaki-sistema bitar | دستگاه اعداد دودویی | Binäärijärjestelmä | Système binaire | Sisteme binari | בסיס בינארי | Kettes számrendszer | 二進記数法 | 이진법 | Binair | Binærtall | Dwójkowy system liczbowy | Sistema binário (matemática) | Sistem binar | Двоичная система счисления | Binárna číselná sústava | Dvojiški številski sistem | Бинарни систем | Binära talsystemet | เลขฐานสอง | ביינערי | 二进制

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Sistema numerico binario".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld