Visual Basic Simple
Informazioni aggiuntive sui Sistemi di numerazione
Sincronizza Indice
Sincronizza Indice
Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Testo dell'articolo
Stampa l'articolo
Stampa l'articolo

Informazioni generali

I dati all'interno della memoria del computer sono gestiti e memorizzati come stati di magnetismo sulle celle della memoria. Se una cella è magnetizzata il computer riproduce una cifra 1, mentre se non vi è magnetismo viene riprodotto uno 0 (zero).

Questo sistema di numerazione, fisico e logico, è denominato sistema binario e come accennato possiede soltato due valori. Lo 0, corrispondente alla non magnetizzazione, e l'1, corrispondente alla magnetizzazione della cella di memoria.

Tali bit sono raggruppati ad 8 cifre, formando così l'unità di base di archiviazione dei dati, il byte. Il valore massimo che un byte può assumere è 255 (2 ^ 8 - 1 cifra occupata dallo 0). Il valore appena citato, naturale per noi, è un valore rappresentato in base decimale, cioè attraverso le cifre che vanno dallo 0 al 9. Per rappresentare un byte nel sistema binario si possono scrivere 8 bit, uno di fila all'altro oppure attraverso un massimo di 3 cifre decimali.


Conversione di un numero da base binaria a base decimale

Il valore di una sequenza binaria è dato dalla somma delle singole cifre binarie, partendo da sinistra, elevate alla potenza rispetto alla posizione che ogni cifra occupa all'interno della sequenza. Che vuol dire? Semplice, prendiamo in esame la sequenza 11011001:

1 = 1 * (2 ^ 7) = 128
1 = 1 * (2 ^ 6) = 64
0 = 0 * (2 ^ 5) = 0
1 = 1 * (2 ^ 4) = 16
1 = 1 * (2 ^ 3) = 8
0 = 0 * (2 ^ 2) = 0
0 = 0 * (2 ^ 1) = 0
1 = 1 * (2 ^ 0) = 1

Così 1 + 0 + 0 + 8 + 16 + 0 + 64 + 128 = 217 decimale.


Conversione di un numero da base binaria a base esadecimale

Per facilitare il trattamento dei dati binari, in alcuni casi, si usa scrivere una cifra binaria in base esadecimale, cioè in base 16, in modo da formare due gruppi di quattro cifre ciascuno (2 ^ 4 = 16).

Per passare una sequenza binaria nel valore corrispondente esadecimale basta prendere le cifre binarie e raggrupparle a 4 a 4. Quindi: 1101 e 1001 = 13 e 9 = D9.


Conversione di un numero da base binaria a base ottale

A detti sistemi di numerazione si aggiunge anche quello ottale, in base 8, usato praticamente pochissimo.

Per convertire una sequenza binaria in sistema ottale basta raggruppare le cifre a 3, invece che a 4. 011 011 001 = 3 3 1


Conversione di un numero da base decimale a base binaria

È possibile anche trasformare un valore in base decimale a base binaria.

217 MOD 2 = 1     217 / 2 = 108
108 MOD 2 = 0     108 / 2 = 54
54  MOD 2 = 0     54  / 2 = 27
27  MOD 2 = 1     27  / 2 = 13
13  MOD 2 = 1     13  / 2 = 6
6   MOD 2 = 0     6   / 2 = 3
3   MOD 2 = 1     3   / 2 = 1
1   MOD 2 = 1     1   / 2 = 0

Per completare l'operazione basta prendere le cifre del modulo di 2 (resto) e metterle in sequenza partendo da sinistra, quindi otteniamo 11011001.


Conversione di un numero da base esadecimale a base binaria

Abbiamo visto che un numero esacimale è in realtà un gruppo di 4 cifre binarie. Per passare quindi un numero da base esadecimale a base binaria, basta scindere le singole cifre esadecimali in gruppetti di 4 cifre binarie.

Così il numero D9 è in realtà formato di numeri 13 e 9 decimali.
Con il metodo visto sopra possiamo convertire le cifre decimali in binarie. Eccole:

13  MOD 2 = 1    13 / 2 = 6
6   MOD 2 = 0    6  / 2 = 3
3   MOD 2 = 1    3  / 2 = 1
1   MOD 2 = 1    1  / 2 = 0

La prima cifra è quindi 1101. Procediamo in maniera uguale per la seconda.

9   MOD 2 = 1    9  / 2 = 4
4   MOD 2 = 0    4  / 2 = 2
2   MOD 2 = 0    2  / 2 = 1
1   MOD 2 = 1    1  / 2 = 0

La seconda cifra è 1001.

Per cui mettendo insieme le due otteniamo: 1101 1001.


Conversione di un numero da base ottale a base binaria

Come appena visto per i numeri a base esadecimale si può operare per quelli a base ottale. Un numero a base ottale è formato da 3 cifre binarie. Dividiamo il numero 311 in base ottale in gruppetti di 3 cifre binarie.

3   MOD 2 = 1    3 / 2 = 1
1   MOD 2 = 1    1 / 2 = 0

La prima cifra è 11, ma come sappiamo una cifra ottale è formata da 3 cifre binarie e non due, aggiungiamo sulla sinistra uno zero mancante, ottenendo quindi 011.

poiché la seconda cifra del numero ottale è sempre 3, si ripete il numero di sopra: 011.

Vediamo ora la terza cifra, cioè 1.

1   MOD 2 = 1   1 / 2 = 0

Il risultato che viene dalla trasformazione dell'ultima cifra è 1. Come appena detto il numero ottale è formato da 3 cifre binarie, aggiungiamo i due zeri mancanti sulla sinistra, ottenendo quindi 001.

Concateniamo ora tutte le cifre ottenute. 011 011 001. Tutti gli zeri che stanno alla sinistra possono essere eliminati. Il risultato definitivo è 11011001, il nostro numero iniziale.


Dimensione minima per l'allocazione di un valore in qualunque base

Per memorizzare un valore decimale X in un'altra base sono necessarie posizioni della base n. In alternativa si può usare il corrispondente , cioè il valore, sempre arrotondato per eccesso, del logaritmo in base n del valore X.

Per esempio per allocare il valore 217 in base esadecimale sono necessarie 2 cifre, mentre in base ottale ne sono richieste tre. Per la base binaria sono richieste 8 cifre, infatti 2 ^ 7 = 128, il che significa che il massimo valore decimale che 7 cifre binarie permettono di memorizzare è 127, mentre per 217 ne sono richieste 8.

Fibia FBI
26 Ottobre 2000

Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Scarica il testo dell'articolo
Stampa l'articolo
Stampa l'articolo