Sistema numerico binario: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
LiveRC : Annullata la modifica di 82.54.127.7; ritorno alla versione di Pap3rinik
Riga 96: Riga 96:
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 spiegare meglio basta fare un esempio:<br/>
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 spiegare meglio basta fare un esempio:<br/>
<center><math>5_{10} - 10_{10} = 5_{10} + (-10)_{10} = 0101_2 - 1010_2 = 00101_{CA2} + 10110_{CA2} = 11011_{CA2} = -00101_2 = -5_{10}</math></center>
<center><math>5_{10} - 10_{10} = 5_{10} + (-10)_{10} = 0101_2 - 1010_2 = 00101_{CA2} + 10110_{CA2} = 11011_{CA2} = -00101_2 = -5_{10}</math></center>

=== 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: <math>10100101_2</math> significa <math>1010,0101_2</math>).


=== Rappresentazione in virgola mobile P754===
=== Rappresentazione in virgola mobile P754===

Versione delle 09:52, 21 set 2010

(EN)

«There are only 10 types of people in the world: those who understand binary and those who don't»

(IT)

«Ci sono solamente 10 tipi di persone nel mondo: chi comprende il sistema binario e chi no»

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 (da destra) si considera moltiplicata per anziché per come avviene nella numerazione decimale.

Nella seguente tabella sono confrontate le rappresentazioni binarie, esadecimali e decimali di alcuni numeri:

Binario Esadecimale Decimale
0 0 0
1 1 1
10 2 2
11 3 3
100 4 4
101 5 5
110 6 6
111 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

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

Il sistema numerico binario ha molti padri. Il primo a proporne l'uso fu Juan Caramuel con la pubblicazione del volume "Mathesis biceps. Vetus, et noua" (1669) pubblicata nella sua sede vescovile di Campagna in provincia di Salerno. Se ne trova traccia anche nelle opere di Nepero. Successivamente, il matematico tedesco Gottfried Wilhelm Leibniz ne studiò per primo l'aritmetica. Questa è la ragione per cui questo sistema di numerazione è considerato tra le sue più grandi invenzioni. Però non ebbe un seguito immediato. L'aritmetica binaria venne ben presto dimenticata e riscoperta solo nel 1847 grazie al matematico inglese George 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) è

Ad esempio

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

Lo stesso argomento in dettaglio: Complemento a due.

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:

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 spiegare meglio basta fare un esempio:

Rappresentazione in virgola mobile P754

Esistono innumerevoli modi per rappresentare numeri in virgola mobile ma il sistema più utilizzato è 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 (). 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. Nel caso di rappresentazione a precisione doppia (v. definizione seguente) il valore dell'esponente viene espresso in eccesso 1023.

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 in binario P754 single:

  1. Convertiamo prima di tutto il numero: per la parte intera e . Quindi il numero definitivo è (segno escluso).
    File:Definizione somma binaria ex.jpg
    Definizione di somma binaria con un esempio
  2. Dividiamo poi il numero per 2 per ottenere la seguente notazione:
  3. La mantissa diventa, quindi: 1100101.
  4. Per esprimere l'esponente in eccesso 127, infine:

Il numero, alla fine, sarà espresso nel formato:

1 10000010 11001010000000000000000
  1. addizione binaria
  2. 1+1=10

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica