Autronica LEZIONE N° 10 • • • • • • • Conversione da base 2 a base 8 Conversione da base 2 a base 16 Conversione da base 8 a base.
Download
Report
Transcript Autronica LEZIONE N° 10 • • • • • • • Conversione da base 2 a base 8 Conversione da base 2 a base 16 Conversione da base 8 a base.
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 d5 d 4 d3d 2 d1d 0 .d 1d 2 d 3
d8 28 d 7 27 d 6 26 d5 25 d 4 24 d3 23 d 2 22 d1 21 d 0 20
d 1 21 d 2 22 d 3 23
• 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
1101011010
110111.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
1101011010
110111.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 111101010011
1111 0101 0011 F5316
– Esadecimale => Ottale
9F3C16 1001111100111100
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 dn1dn2 d0
• Il corrispondente in base 10 è
w10 1 n1 dn2 2n2 dn3 2n3 d0 20
d
• Il renge dei numeri risulta
n1
n1
1 2 w10 2 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 dn1dn2 d0
• Il corrispondente in base 10 è
w10 1 2n1 dn1 dn2 2n2 dn3 2n3 d0 20
• Il renge dei numeri risulta
1 2n1 w10 2n1 1
• Esempio n = 4
0101 1 8 0 5 5
1110 1 81 6 1
AUTRONICA
10.13
Complemento a 2
• Se si dispone di “n” bit
w dn1dn2 d0
• Il corrispondente in base 10 è
w10 2n1 dn1 dn2 2n2 dn3 2n3 d0 20
• Il renge dei numeri risulta
2n1 w10 2n1 1
• Esempio n = 4
0101 8 0 5 5
1110 81 6 2
AUTRONICA
10.14
Traslazione
• Se si dispone di “n” bit
w dn1dn2 d0
• Il corrispondente in base 10 è
w10 dn1 2n1 dn2 2n2 d0 20 2n1
• Il renge dei numeri risulta
2n1 w10 2n1 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:
T IP O
VALORE
DINAMICA
d
M. S.
w10 1 n1 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
T R.
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
T IPO W 0
W0
M. S. W ' W
W ' H W
C.1
W ' W W ' K 1 W
C. 2
W ' W
W ' K W
T R. W ' H W W ' H W
AUTRONICA
10.17
Modulo e segno
• Somma [-2n-1<(X+Y)<2n-1]
Addendi
X 0
Y 0
X 0
Y 0
X 0
Y 0
X 0
Y 0
• *
Somma
Somma M. S.
Correzione
Z X Y
Z' X Y
Z X Y
Z' X Y H
no *
Z X Y
Z' X Y H
no *
Z X Y Z ' X Y 2H
no *
è 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
X 0
Y 0
X 0
Y 0
X 0
Y 0
X 0
Y 0
•
•
•
•
Somma
Somma C. 1
Correzione
Z X Y
Z' X Y
Z X Y
Z ' X Y 1 K
Z Z '1*
Z X Y
Z ' X Y 1 K
Z Z '1*
Z X Y Z ' X Y 2 2 K 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
X 0
Y 0
X 0
Y 0
X 0
Y 0
X 0
Y 0
Somma
Somma C. 2
Correzione
Z X Y
Z' X Y
Z Z'
Z X Y
Z X Y
Z Z' *
XY
Z Z ' **
Z' X Y K
Y X
Z' X Y K
Z X Y Z ' X Y 2K
***
• 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 cn1
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