Operazioni Aritmetiche : Divisione Il risultato è completamente errato, perché è andato perso il contributo più significativo!! La causa è che i registri dell'elaboratore hanno posto per n bit, e quindi il bit di riporto che si genera viene perduto: è l' OVERFLOW (straripamento) All'overflow non c'è rimedio: per evitarlo si può solo usare un maggior numero di bit Conversione di Base Per effettuare una conversione di base di un numero N in base b1 in un numero N’ in base b si effettua la divisione N/b, ottenendo un quoziente Q0 ed un resto R0 ; con R0 < b e se Q0> b si divide successivamente Q0 per b ottenendo un Q1 ed un R1 . Detto procedimento si itera fino a che Qn< b. Si ha dunque : N = Q0 * b + R0 Q0 = Q1 * b + R1 . . Qn-1 = Qn* b + Rn da cui N = Qn* bn+1+ Rn* bn+ Rn-1 * bn-1….. R1*b+ R0
La sequenza di cifre del numero convertito N’ sarà dunque : Qn Rn Rn-1
R 1R 0 Con ciascuno dei numeri è compreso fra 0 e b-1 212 2 0 106 2 0 53 2 1 26 2 divisioni successive 0 13 2 per 2 fino a un quoto 16 2 uguale a 0 0 32 i resti (dall’ultimo al 1 12 primo) danno la 1 0 sequenza di cifre Base Ottale
b = 8, cifre = { 0,1,2,3,4,5,6,7}
Quindi 212 10= 3248
La codifica in binario delle 8 cifre ottali richiede 3 bit
Conversione ottale-binario: 110101002 ↔ 011 010 100 ↔ 3248 rappresentazione in base 2 su 3 bit Base Esadecimale b = 16, cifre = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F }
212 : 16 = 13 col resto di 4
212 10= D4 16
(notazioni pratiche: D4H, 0xD4)
La codifica in binario delle 16 cifre esadecimali richiede 4 bit Conversione esadecimale-binario: 11010100 2↔ 1101 0100↔ D4 16 rappresentazione rappresentazione in base 2 di 13 su 4 bit in base 2 di 4 su 4 bit