Autronica
LEZIONE N° 10
•
•
•
•
•
•
•
Conversione da base 2 a base 8
Conversione da base 2 a base 16
Conversione da base 8 a base 16
Aritmetica binaria per numeri positivi
Rappresentazione di numeri con segno
Aritmetica binaria per numeri relativi
Rappresentazione BCD
AUTRONICA
10.1
Richiami
•
•
•
•
Sistema numerico
Base 2, 3, 4, 5, 8, 10, 12, 16
Conversione da base “N” a base 10
Conversione da base 10 a base “N”
AUTRONICA
10.2
Binario => Ottale
• Dato un numero binario
N   d8 d 7 d 6 d 5 d 4 d 3d 2 d1d 0 .d 1d 2 d 3 
  d8 28  d 7 27  d 6 26  d 5 25  d 4 24  d 3 23  d 2 2 2  d1 21  d 0 20 
 d 1 2 1  d 2 2 2  d 3 2 3
• Fattorizzando
d 2  d 2  d 2 2  d 2  d 2  d 2 2 
 d 2  d 2  d 2 2  d 2  d 2  d 2 2
d 2  d 2  d 2 8  d 2  d 2  d 2 8 
 d 2  d 2  d 2 8  d 2  d 2  d 2 8
2
1
8
0
7
0
0
7
2
2
0
0
0
2
1
1
3
0
4
2
AUTRONICA
3
3
1
5
1
1
2
2
6
0
4
1
0
1
8
2
0
1
1
5
1
2
2
6
2
2
6
0
3
0
1

1
3
2
1
3
10.3
Metodo
• Basta raggruppare i digit del numero binario (bit) tre a
tre e convertire ciascun gruppo nel corrispondente digit
ottale
• Esempio
1101011010110111.10011101
001 101 011 010 110 111 . 100 111 010 
153267.472
• Nota
Sono stati aggiunti degli zeri in testa e in coda
affinché si avessero due gruppi di digit multipli di tre
AUTRONICA
10.4
Binario => Esadecimale
• Stesso procedimento del caso precedente, però ora si
raggruppano i bit quattro a quattro
• Esempio
1101011010110111.10011101
1101 0110 1011 0111 . 1001 1101 
D6B7.9D
• Per le conversioni ottale => binario e esadecimale =>
binario si opera in modo simile convertendo ciascun
digit nel corrispondente numero binario
AUTRONICA
10.5
Ottale => Esadecimale
(Esadecimale => Ottale)
• Conversione intermedia in binario
• Esempio
– Ottale => Esadecimale
75238  111101010011 
 1111 0101 0011  F5316
– Esadecimale => Ottale
9F3C16  1001111100111100 
 001 001 111 100 111 100  1174748
AUTRONICA
10.6
Aritmetica binaria 1
• Somma di due bit
• x+y
• s = Somma
• c = Carry (RIPORTO)
x y s c
0 0 0 0
0 1 1 0
1 0 1 0
• Esempio
carry
1
1
1 1 0 1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
1
0
AUTRONICA
89 + 117 = 206
10.7
Aritmetica binaria 2
• Sottrazione di due bit
• x -y
• d = Differenza
• b = Borrow (Prestito)
• Esempio
borrow 1
1
1
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
x y d b
x y s c
0 0 0 0
0 0 0 0
0 1 1 1
0 1 1 0
1 0 1 0
1 0 1 0
1 1 0 0
1 1 0 1
1
AUTRONICA
206 - 117 = 89
10.8
Aritmetica binaria 3
• Prodotto di due bit
• axb
• p = Prodotto
a b p
0 0 0
0 1 0
1 0 0
• Esempio
1 1 1
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
1
1
1
0
1
AUTRONICA
13 x 5 = 65
10.9
Numeri binari con segno
• Il numero massimo di bit usato da un calcolatore è noto
e fisso
• Solitamente è : 4 o 8 o 16 o 32 (Word)
• 8 bit formano un Byte
• Non esiste un apposito simbolo per il segno
• Si usa il bit più significativo per indicare il segno
• 0= +
• 1= -
• Si hanno varie tecniche di codifica
•
•
•
•
Modulo e segno
Complemento a 1
Complemento a 2
In traslazione ( cambia la codifica del segno)
AUTRONICA
10.10
Varie rappresentazioni su 4 bit
Base 10
7
6
5
4
3
2
1
0
0
-1
-2
-3
-4
-5
-6
-7
-8
Mod e seg
0.111
0.110
0.101
0.100
0.011
0.010
0.001
0.000
1.000
1.001
1.010
1.011
1.100
1.101
1.110
1.111
-
comp a 1 comp a 2
0.111
0.111
0.110
0.110
0.101
0.101
0.100
0.100
0.011
0.011
0.010
0.010
0.001
0.001
0.000
0.000
1.111
0.000
1.110
1.111
1.101
1.110
1.100
1.101
1.011
1.100
1.010
1.011
1.001
1.010
1.000
1.001
1.000
AUTRONICA
trasl.
1.111
1.110
1.101
1.100
1.011
1.010
1.001
1.000
1.000
0.111
0.110
0.101
0.100
0.011
0.010
0.001
0.000
10.11
Modulo e segno
• Se si dispone di “n” bit
w  d n1d n2 d 0
• Il corrispondente in base 10 è

w10  1 n1 d n2 2n2  dn3 2n3  d0 20
d

• Il renge dei numeri risulta
1  2 n 1  w10  2 n 1  1
• Esempio n = 4
0101   1  5  5
0
1110   1  6  6
1
AUTRONICA
10.12
Complemento a 1
• Se si dispone di “n” bit
w  d n1d n2 d 0
• Il corrispondente in base 10 è



w10  1  2 n 1  d n 1  d n  2 2 n  2  d n 3 2 n 3   d 0 20

• Il renge dei numeri risulta
1  2 n 1  w10  2 n 1  1
• Esempio n = 4
0101  1  8 0  5  5
1110  1  81  6  1
AUTRONICA
10.13
Complemento a 2
• Se si dispone di “n” bit
w  d n1d n2 d 0
• Il corrispondente in base 10 è



w10   2 n 1  d n 1  d n  2 2 n  2  d n 3 2 n 3   d 0 20

• Il renge dei numeri risulta
 2 n 1  w10  2 n 1  1
• Esempio n = 4
0101   8 0  5  5
1110   81  6  2
AUTRONICA
10.14
Traslazione
• Se si dispone di “n” bit
w  d n1d n2 d 0
• Il corrispondente in base 10 è


w10  d n 1 2 n 1  d n  2 2 n  2   d 0 20  2 n 1
• Il renge dei numeri risulta
2 n 1  w10  2 n 1  1
• Esempio n = 4
0101  5  8  3
1110  14  8  6
AUTRONICA
10.15
Trasformazione da numeri positivi a numeri
negativi e viceversa
• Per la rappresentazione in modulo e segno
• Basta cambiare il bit di segno
N  5  00101
 N  5  10101
• Per la rappresentazione in complemento a 1
• Si complementano tutti bit
N  5  00101
 N  5  11010
• Per la rappresentazione in complemento a 2
• Si complementano tutti bit e si somma 1
N  5  00101
 N  5  11010  1  11011
• Per la rappresentazione in tralazione
• Si somma sempre 2n-1
N  5  16  5  10101
 N  5  16  5  01011
AUTRONICA
10.16
Tabella Riassuntiva
• Con riferimento a una word di “n” bit, si ha:
TIPO
VALORE
DINAMICA
d
M. S.
w10   1 n1 d n  2 2 n  2  d n 3 2 n 3   d 0 20
1  2 n 1  w10  2 n 1  1
C.1 w10  1  2 n 1  d n 1  d n  2 2 n  2  d n 3 2 n 3   d 0 20 1  2 n 1  w10  2 n 1  1
C. 2 w10   2 n 1  d n 1  d n  2 2 n  2  d n 3 2 n 3   d 0 20  2 n 1  w10  2 n 1  1
TR.
w10   2 n 1  d n 1 2 n 1  d n  2 2 n  2   d 0 20
 2 n 1  w10  2 n 1  1






 




• K = 2n
• H =2n-1
• W numero in base 2 da convertire
• W’ numero convertito


TIPO
W0
W0
M. S. W '  W
W ' H  W
C.1
W ' W W ' K 1 W
C. 2
W ' W
W ' K  W
TR. W '  H  W W '  H  W
AUTRONICA
10.17
Modulo e segno
• Somma [-2n-1<(X+Y)<2n-1]
Addendi
Somma
Somma M. S. Correzione
X 0
Z  X Y
Z' X Y

Y 0
X 0
Z X Y
Z' X  Y  H
no *
Y 0
X 0
Z   X Y Z' X Y  H
no *
Y 0
X 0
Z   X  Y Z '  X  Y  2H
no *
Y 0
• *
è necessario fare un test sul segno prima di eseguire la somma
AUTRONICA
10.18
Complemento a 1
• Somma [-2n-1<(X+Y)<2n-1]
Addendi
Somma
Somma C.1
X 0
Z  X Y
Z' X Y
Y 0
X 0
Z X Y
Z '  X  Y 1  K
Y 0
X 0
Z   X  Y Z '   X  Y 1  K
Y 0
X 0
Z   X  Y Z '   X  Y  2  2K
Y 0
•
•
•
•
Correzione

Z  Z '1*
Z  Z '1*
Z  Z '2 * *
Osservare che K non è possibile rappresentarlo su n bit
*
è necessario un test sul bit di segno, ma la correzione è facile
*
se il risultato è negativo è già rappresentato in C. 1
** è necessario aggiungere 1 per ottenere il risultato in C. 1
AUTRONICA
10.19
Esempi
• Parola di 4 bit
•
3+4=7
0 0 1 1
0 1 0 0
0 1 1 1
• (- 4) +(-3) = -7
1 0 1 1
1 1 0 0
1 0 1 1 1
1
1 0 0 0
5 + (-3) = 2
0 1 0 1
1 1 0 0
1 0 0 0 1
1
0 0 1 0
6 + 5 =11
0 1 1 0
0 1 0 1
1 0 1 1
AUTRONICA
(-5) + 3 = (-2)
1 0 1 0
0 0 1 1
1 1 0 1
(-6) + (-5) =(-11)
1 0 0 1
1 0 1 0
1 0 0 1 1
10.20
Complemento a 2
• Somma [-2n-1<(X+Y)<2n-1]
Addendi
Somma
Somma C. 2
X 0
Z  X Y
Z' X Y
Y 0
X 0
Z X Y
Z' X  Y  K
Y 0
X 0
Z   X Y Z'  X Y  K
Y 0
X 0
Z   X  Y Z '   X  Y  2K
Y 0
Correzione
Z  Z'
Z  Z' *
XY
Z  Z ' **
Y X
***
• Osservare che K non è possibile rappresentarlo su n bit
• *
Per X < |Y| il risultato è rappresentato in C. 2
• ** Per Y < |X| il risultato è rappresentato in C. 2
• *** Il risultato è rappresentato in C. 2
AUTRONICA
10.21
Esempi
• Parola di 4 bit
•
3+4=7
5 + (-3) = 2
0 0 1 1
0 1 0 1
1 1 0 1
1 0 0 1 0
0 1 0 0
0 1 1 1
• (- 4) +(-3) = -7
1 1 0 0
1 1 0 1
1 1 0 0 1
6 + 5 =11
0 1 1 0
0 1 0 1
1 0 1 1
AUTRONICA
(-5) + 3 = (-2)
1 0 1 1
0 0 1 1
1 1 1 0
(-6) + (-5) =(-11)
1 0 1 0
1 0 1 1
1 0 1 0 1
10.22
Osservazioni
• Se la word si estende “K” bit si ha
• per numeri positivi si aggiungono in testa K zeri
• per numeri negativi si aggiungono in testa K uno
• Esempio
Word di
4 bit
Word di
6 bit
3
0.011
0.00011
4
0.100
0.00100
7
0.111
0.00111
-3
1.101
1.11101
-4
1.100
1.11100
-7
1.001
1.11001
AUTRONICA
10.23
OverfloW
• Parola di 4 bit
•
3+4=7
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
• (- 4) +(-3) = -7
1 1 0 0
1 1 0 0
1 1 0 1
1 1 0 0 1
5 + (-3) = 2
1 1 0 1
0 1 0 1
1 1 0 1
1 0 0 1 0
6 + 5 =11
0 1 0 0
0 1 1 0
0 1 0 1
1 0 1 1
(-5) + 3 = (-2)
0 0 1 1
1 0 1 1
0 0 1 1
1 1 1 0
(-6) + (-5) =(-11)
1 0 1 0
1 0 1 0
1 0 1 1
1 0 1 0 1
Ov  cn  cn1
AUTRONICA
10.24
BCD (Binary-Coded Decimal numbers)
• Necessità di rappresentare i numeri decimali in
codice binario
• 8421 BCD
• si codifica in binario ciascuna cifra decimale
utilizzando i primi 10 numeri binari su 4 bit
• Esempio
• 45310
4
5
3
0100 0101 0011
• 010001010011
• è possibile eseguire somme e sottrazioni in BCD
AUTRONICA
10.25
BCD – Sette Segmenti
• Per visualizzare le cifre decimali si usa
frequentemente un Display a sette segmenti
a
f
b
g
e
d
c
• È possibile realizzare un codificatore
• BCD SETTE SEGMENTI
AUTRONICA
10.26
Tabella di verità
• La tabella di verità risulta
8
4
2
1
a
b
c
d
e
f
g
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
2
0
0
1
0
1
1
0
1
1
0
1
3
0
0
1
1
1
1
1
1
0
0
1
4
0
1
0
0
0
1
1
0
0
1
1
5
0
1
0
1
1
0
1
1
0
1
1
6
0
1
1
0
1
0
1
1
1
1
1
7
0
1
1
1
1
1
1
0
0
1
0
8
1
0
0
0
1
1
1
1
1
1
1
9
1
0
0
1
1
1
1
1
0
1
1
AUTRONICA
10.27
Conclusioni
•
•
•
•
•
•
Sistema numerico
Base 2, 3, 4, 5, 8, 10, 12, 16
Conversione da base “N” a base 10
Conversione da base 10 a base “N”
Aritmetica binaria
Rappresentazione di numeri con segno
AUTRONICA
10.28
Scarica

Lezione-10