I SISTEMI DI NUMERAZIONE_u

annuncio pubblicitario
I SISTEMI DI NUMERAZIONE
Sistema di Numerazione
Un sistema di numerazione è un insieme di simboli e regole, atti a dar luogo ad una codifica
numerica, cioè a produrre un insieme di simboli diversi tra loro che siano in corrispondenza
biunivoca con le grandezze numeriche.
Sistema decimale
Tra gli innumerevoli modi per soddisfare alla precedente definizione, quello più consueto all’uomo
è il sistema di numerazione decimale; questo sistema di numerazione appartiene alla famiglia dei
sistemi posizionali.
In un sistema posizionale i simboli impiegati per connotare le grandezze numeriche sono in
quantità limitata, ma consentono di numerare infinite grandezze in virtù della posizione da loro
occupata nella rappresentazione.
Per meglio comprendere quanto asserito, si consideri il numero 353; in esso sono utilizzati due soli
simboli (cifre), il 3 ed il 5, ma vengono numerate trecentocinquantatre grandezze, in virtù della
posizione occupata da tali simboli.
Precisamente, la cifra 3 nella posizione più a destra rappresenta le unità, la cifra 5 al centro le
decine e la cifra 3 a sinistra le centinaia.
È dunque possibile comprendere che, per utilizzare un numero limitato di simboli (cifre), occorre
associare loro una base che, nel caso del sistema decimale, vale 10;
la posizione che una cifra occupa nel numero le conferisce un diverso valore, in quanto risulta
moltiplicata per la potenza di 10 corrispondente a quella posizione.
Nel caso dell’esempio, a partire dalla destra del numero:
— la prima posizione prevede il prodotto della cifra per 100 =1
— la seconda posizione prevede il prodotto della cifra per 101 = 10
— la terza posizione prevede il prodotto della cifra per 102 = 100
In generale 10n con n=0,1,2… la posizione da destra verso sinistra
Sistemi di base b
Il sistema di numerazione decimale è un caso particolare dell’insieme dei sistemi ponderali; in
effetti, ogni intero b > 1 può costituire la base di un sistema di numerazione ponderale, che prevede
un numero di simboli o cifre diverse, in quantità pari a b — 1.
Per rappresentare un numero N di grandezze numerabili in un sistema di numerazione ponderale
in base b, occorre rispettare la seguente relazione fondamentale:
N= Cn• bn+ Cn-1 • bn-1 + .... + C1• b1 + C0 b0
ove:
N = numero di grandezze
b = base o radice: numero intero positivo
I SISTEMI DI NUMERAZIONE_u.doc
1 di 12
Prof. S. Patti
Cn = cifra generica, con i compreso tra 0 e b-1
La cifra C, viene definita digit e, trattandosi di un sistema posizionale, la cifra più a destra C0, è
detta LSD (Least Significant Digit), ovvero è quella avente «peso» minore, mentre quella più a
sinistra, Cn, è detta MSD (Most Significant Digit), ovvero è quella avente «peso» maggiore.
Analogamente
Nel linguaggio elettronico, la cifra C, viene rappresentata con un bit e, trattandosi di un sistema
posizionale, la cifra più a destra C0, è detta LSB (Least Significant Bit), ovvero è quella avente
«peso» minore, mentre quella più a sinistra, Cn, è detta MSB (Most Significant Digit), ovvero è
quella avente «peso» maggiore.
Quanto premesso porta a concludere che è possibile realizzare un sistema di numerazione in base
qualsiasi, a condizione che si possano definire delle cifre.
Così, non può esistere il sistema in base 0 perché è privo di cifre;
parimenti, non può esistere il sistema in base 1, in quanto la sua unica cifra non potrebbe che essere
lo 0.
Se ne trae che il sistema ponderale a base minore è quello con b = 2, che ha come cifre 0 ed 1.
Questo sistema ha il pregio di consentire la rappresentazione dei numeri mediante i due soli simboli
0 ed 1, che costituiscono la condizione di funzionamento più certa di un sistema elettrico.
Binario,ottale e esadecimale
Oltre al sistema di numerazione in base due, detto binario, tra i più utilizzati in elettronica vi sono i
sistemi in base: otto (ottale) e sedici (esadecimale), le cui caratteristiche principali sono riportate
in tabella 1 .1.
Tab. 1.1 - I sistemi di numerazione più utilizzati in campo elettronico.
Numerazione binaria
La numerazione binaria per la rappresentazione dei numeri utilizza due soli simboli, 0 e 1.
Ognuno di tali simboli e comunemente denominato bit (b
binari digitt = cifra con due valori)
Sistema binario
In particolare nel sistema binario con n bit è possibile codificare 2n — 1 numeri decimali, ovvero è
possibile numerare (cioè contare) 2n — 1 unità decimali.
Es: 4 bit
24-1=16-1=15
Cioè con 4 bit si possono rappresentare i numeri decimali da 0 a 15
I SISTEMI DI NUMERAZIONE_u.doc
2 di 12
Prof. S. Patti
Numerazione binaria
Essa è pertanto in base 2
Con un solo bit si possono rappresentare 21 cifre cioè solo (0 o 1)
Decimale
Binario
0
0
1
1
Numeri rappresentabili = 2n
con n=numero di bit
Con 2 bit si possono rappresentare 4 numeri decimali infatti 22=4
Decimale
Binario
0
0
1
1
2
1
0
3
1
1
Sistema di correlazione tra decimale e binario. Si noti che, in corrispondenza delle potenze di 2
nella colonna decimale, si ha l’aumento di un bit nella colonna binaria.
Numeri codificabili
Per ogni cifra si codificano bn-1 numeri decimali per es. nel sistema binario b=2, per n=1 si
possono codificare 21=2 numeri (0 e 1)
Se fosse decimale b=10
101=10 dieci numeri (0,1,2,3,4,5,6,7,8,9)
I SISTEMI DI NUMERAZIONE_u.doc
3 di 12
Prof. S. Patti
La conversione tra le basi.
Il metodo per effettuare il passaggio di base può essere genericamente espresso nel seguente modo:
Dato un numero N in base p, questo può essere convertito nei numero equivalente in base s
mediante una serie di divisioni successive per il numero s, proseguita sino a che il quoziente risulta
minore del divisore.
La conversione tra le basi.
I digit del numero in base s sono costituiti dai resti interi delle divisioni;
in particolare, il LSD è il primo resto, mentre il MSD è l’ultimo.
Osservazione.
È consuetudine, allorché si fa uso di numeri espressi in basi diverse, indicare la base con un pedice
a fianco della cifra.
Per esempio:
353(10) rappresenta il numero 353 in base decimale.
Conversione in base binaria.
Supponiamo di voler convertire il numero 353 decimale a binario.
Verifica
I SISTEMI DI NUMERAZIONE_u.doc
4 di 12
Prof. S. Patti
La rappresentazione dei numeri frazionari.
Un numero frazionario può essere indicato come somma della parte intera con quella frazionaria,
cioè:
N = NI + NF
per quanto riguarda la parte intera, vale la consueta relazione:
NI= Cn• bn+ Cn-1 • bn-1 + .... + C1• b1 + C0 b0
Per quanto riguarda la parte frazionaria, vale invece la seguente espressione:
NF=D-1 •b-1 +D-2 • b-2+...
ove Di è il digit generico della parte frazionaria e, analogamente a Ci, può variare da 0 a b-1.
Complessivamente quindi si ha:
N= NI+ NF=Cn• bn+ Cn-1 • bn-1 + .... + C1• b1+ +C0 b0+D-1 •b-1 +D-2 • b-2+...
Conversione della parte frazionaria
Per effettuare il passaggio di base con numeri aventi parte frazionaria, indicata con p la vecchia
base e con s la nuova, si procede nel seguente modo:
1. Si separa la parte decimale da quella intera.
2. Si moltiplica per la nuova base s la parte decimale separata
Cioè,
1. Si separa la parte decimale da quella intera.
2. si eseguono una serie di prodotti successivi per s, assumendo via via la parte intera come
digit nella nuova base e la parte decimale come fattore del prodotto successivo.
3. L’operazione non ha termine e può essere arrestata allorché si ritiene di aver raggiunto il
numero di cifre desiderato.
4. I digit ottenuti vengono posti dopo la virgola nello stesso ordine con cui sono stati ricavati.
Il primo ottenuto è quello di peso maggiore e via via gli altri sono di peso minore perché vanno
moltiplicati per potenze con esponente negativo crescente.
Esempio
Si converta il numero 3,47 da decimale in base binaria, eseguendo la verifica dei risultati.
Applicando le convenzioni precedenti, risulta:
N=NI+NF=3+0,47
I SISTEMI DI NUMERAZIONE_u.doc
5 di 12
Prof. S. Patti
Verifica:
Che è praticamente uguale a 3,47 se lo approssimiamo alla seconda cifra decimale
L’errore è solo di 0,0013=13·10-3
In pratica si prende ogni volta il risultato della moltiplicazione e la parte intera (zero o uno che sia)
si assume come digit la parte decimale si rimoltiplica per la nuova base s ripetendo queste
operazioni ciclicamente fino a ottenere la approssimazione desiderata.
Conversione binario - ottale - esadecimale.
La conversione di un numero da una base b diversa da 10 ad un’altra, anch’essa diversa da 10, può
essere fatta con il metodo delle divisioni successive o con quello delle moltiplicazioni successive, a
seconda che il numero sia intero o con virgola. Va però tenuto presente che sia le divisioni che le
moltiplicazioni vanno fatte appunto con basi diverse dal 10 e quindi non sono molto semplici.
La conversione di un numero da una base b diversa da 10 ad un’altra, anch’essa diversa da 10,
può essere fatta con il metodo delle divisioni successive o con quello delle moltiplicazioni
successive, a seconda che il numero sia intero o con virgola.
Va però tenuto presente che sia le divisioni che le moltiplicazioni vanno fatte appunto con basi
diverse dal 10 e quindi non sono molto semplici.
Il metodo più comodo e affidabile è comunque quello di convertire il numero di partenza dalla base
b al sistema decimale, e poi alla nuova base diversa dal 10.
Le conversioni di numeri tra sistemi le cui basi sono potenze l’una dell’altra,
sono invece particolarmente facili e immediate.
I SISTEMI DI NUMERAZIONE_u.doc
6 di 12
Prof. S. Patti
Esempio sono le conversioni da binario a ottale e esadecimale, e
viceversa,
Conversione da binario a ottale.
Questa trasformazione si esegue raggruppando i bit del numero binario (a partire da destra) in
gruppi costituiti da tanti bit quanti sono necessari per rappresentare in binario una qualsiasi cifra
ottale, cioè 3.
Se ad esempio il numero binario è
11110100102
che rappresenta il numero decimale 978 , per ottenere la sua rappresentazione ottale dobbiamo
procedere nel modo seguente.
A partire dal bit meno significativo, dividiamo il numero in gruppi di 3 bit; avremo pertanto i gruppi
(001) (111) (010) (010)
I due zeri nell’ultimo gruppo a sinistra sono stati aggiunti per completezza.
Associando ad essa i singoli gruppi la cifra ottale corrispondente avremo
(001) (111) (010) (010)
1
7
2
In definitiva
2
17228= 0011110100102
Conversione da binario a esadecimale.
Il metodo è lo stesso di quello adottato nel caso della conversione binario-ottale, la differenza e
che il numero di bit necessari per ogni gruppo è quello che consente di rappresentare le cifre del
sistema esadecimale, cioè 4.
Consideriamo ad esempio il numero binario:
1101001010
a partire dal bit meno significativo, dividiamo il numero binario in gruppi di 4 bit ciascuno.
Avremo pertanto i gruppi
(0011) (0100) (1010)
sono stati aggiunti degli 0 ai due bit più significativi; associando ad ogni gruppo la cifra
esadecimale corrispondente avremo:
(0
0011) (0100) (1010)
3
4
A
In definitiva
(0
0011) (0100) (1010)
3
4
A
in definitiva, il numero esadecimale corrispondente a quello binario dato è
34AH = 11010010102
Conversione da ottale a binario.
I SISTEMI DI NUMERAZIONE_u.doc
7 di 12
Prof. S. Patti
Lo stesso procedimento applicato precedentemente per la trasformazione da binario a ottale,
applicato all’inverso, consente di convertire un numero ottale in binario.
Supponiamo di avere il numero ottale 3248 e di volerlo rappresentare in binario; basterà a tale
scopo sostituire ad ogni cifra ottale, nell’ordine in cui sono scritte, le corrispondenti
rappresentazioni binarie su 3 bit.
Avremo così:
3 2 4
(0
011) (0
010) (1
100)
quindi il numero binario, che corrisponde a quello ottale dato, sarà 3248=110101002
Conversione da esadecimale a binario.
Allo stesso modo:
Dato il numero 3A1H la sua rappresentazione binaria sarà data da:
3
A
1
(0
0011) (1
1010) (0
0 001)
per cui il numero binario cercato sarà 1110100001
La rappresentazione dei numeri con segno.
La esigenza di ricorrere a numeri con segno è motivata da due tipi di operazioni aritmetiche:
1. rappresentazione di numeri relativi;
2. sottrazione tra due numeri;
(in questo caso infatti è possibile considerare la sottrazione come somma di uno degli addendi con
l’altro cambiato di segno.)
Il metodo più consueto per indicare i numeri relativi, qualunque sia la base, consiste nel:
1. premettere loro un segno
2. rappresentare i numeri negativi in complemento. (in tal modo si riconduce una sottrazione
ad una somma)
Rappresentazione dei numeri negativi in complemento.
In particolare, due sono i tipi di complemento:
1. il complemento alla base;
2. il complemento alla base meno uno.
a) Complemento alla base.
complemento alla base di un numero di n cifre, rappresentato in un sistema di numerazione in base
b, è dato dalla differenza tra la potenza ennesima bn della base ed il numero stesso.
b) Complemento alla base —1.
Il complemento alla base meno 1 di un numero, in qualunque sistema di numerazione, si esegue
sottraendo ciascuna delle cifre del numero dal valore b — 1 (ove b è la base).
I SISTEMI DI NUMERAZIONE_u.doc
8 di 12
Prof. S. Patti
In un sistema di numerazione in base b, impiegando n digit (cifre), è possibile numerare:
bn— 1 unità decimali
In generale passando da una base b ad una base s con b>s occorrono un numero di cifre maggiore
per rappresentare il numero equivalente.
Nel caso di b=10 e s=2
Si ottiene che occorrono 3,32 volte le cifre necessarie nella base 10
Infatti per rappresentare 99(10) occorrono 2 cifre per rappresentare l’equivalente in base 2
99(10)=1100011(2) occorrono 7 digit
infatti 3,32·2=6,64≅7
Numeri binari con segno
Il fattore fondamentale dell’utilizzo dei numeri binari, consiste nel fatto che essi usano due soli
simboli
0
1
Sarebbe controproducente introdurre un nuovo simbolo per individuare il segno
I SISTEMI DI NUMERAZIONE_u.doc
9 di 12
Prof. S. Patti
Convenzionalmente si è quindi introdotto un metodo particolare per individuare i numeri binari
negativi. Per tale scopo, il bit più significativo (MSB), di un certo numero, viene considerato come
bit di segno.
Se esso è uguale ad uno, il numero è da considerarsi negativo, se invece è zero, esso è positivo.
Lo zero è considerato positivo.
Si deduce quindi che utilizzando un bit per il segno, diminuisce il campo dei numeri
rappresentabili con un certo numero di bit.
Se infatti con n bit è possibile avere 2n numeri diversi, con il bit di segno se ne potranno avere solo
2n-1
Per esempio con un byte (otto bit) si ha:
28 = 256
Senza il bit del segno
mentre 28-1 = 128
Con il bit del segno
tali valori includono anche lo zero.
Questo quindi significa che se abbiamo 8 bit per rappresentare un numero in bit, quello più
significativo, viene dedicato solo al segno gli altri sette bit invece rappresentano il numero.
Individuare i numeri negativi con il solo bit di segno, non risolve completamente il problema, in
quanto, tale rappresentazione, conduce a volte a risultati non corretti quando si eseguono alcune
operazioni su tali numeri.
Per rendere quindi possibili tutte le operazioni con i numeri binari con segno, senza commettere
errori, i numeri negativi, debbono essere rappresentati in complemento a due.
Numeri relativi
Il campo dei numeri relativi binari esprimibili con n bit in complemento a 2, è:
-(2n-1)≤N≤2n-1-1
Per n=4
-(24-1)=-8
+24-1-1=+7
Quindi con 4 bit si può rappresentare dal numero +7 a numero -8
Rappresentazione delle corrispondenze tra numeri decimali e binari relativi
Il complemento si fa per rappresentare i numeri negativi
I SISTEMI DI NUMERAZIONE_u.doc
10 di 12
Prof. S. Patti
Aritmetica binaria
Il sistema di numerazione binario è di tipo pesato come il decimale, pertanto le regole
dell’aritmetica binaria coincidono con quelle dell’aritmetica decimale.
Si riportano soltanto i metodi per l’esecuzione delle quattro operazioni.
Somma
Le regole della somma tra due bit sono:
0+0=0
0+1=1
1+0=1 .
1+1=0 con riporto di 1 verso sinistra
Esempio somma
23+12=35 base decimale
In binaria
1 0 1 1 1+
1 1 00
10 0 0 1 1 somma totale
100011(2)=35(10)
Moltiplicazione.
Benché di norma la moltiplicazione venga eseguita come serie di somme, le sue regole sono:
0x0=0
0x1=0
1x0=0
1x1=1
Si esegua il prodotto tra i numeri N’=33(10) ed N” = 3(10). Dopo averli trasformati in base 2
Nella maggior parte dei dispositivi elettronici di calcolo si
esegue la moltiplicazione come somma ripetuta del primo
fattore con se stesso, tante volte quante ne indica il secondo
fattore.
• Nel caso dell’esempio precedente, si avrebbe:
• N(10) = 33+33+33 = 99
Sottrazione
Come per l’addizione si incolonnano le cifre di egual peso del minuendo con quelle del sottraendo
partendo dalla colonna meno significativa.
Le regole sono:
I SISTEMI DI NUMERAZIONE_u.doc
11 di 12
Prof. S. Patti
0-0=0
1-0=1
1-1=0
0-1=1 con prestito 1 dalla colonna di peso immediatamente superiore.
La sottrazione può essere ridotta alla somma fra il minuendo e il complemento a due del sottraendo
Divisione
La divisione nei sistemi elettronici viene di massima eseguita come successione di differenze,
ovvero si sottrae il divisore dal dividendo sino a ché il risultato della differenza diviene minore del
divisore stesso.
Il quoziente equivale al numero di successive sottrazioni, mentre il risultato dell’ultima operazione
rappresenta il resto intero.
I SISTEMI DI NUMERAZIONE_u.doc
12 di 12
Prof. S. Patti
Scarica