***** ESERCIZI DI CONVERSIONE IN BINARIO ***** Per tradurre un numero da decimale a binario, o viceversa, è necessario considerare le potenze del 2 e utilizzarle per disporre i bit con valore 1 all'interno della sequenza che rappresenta il numero in binario. Da BINARIO a DECIMALE (2^n indica la potenza n-esima del 2): - 0 = 0*2^0 = 0 - 1 = 1*2^0 = 1*1 = 1 - 10 = 0*2^0 + 1*2^1 = 0 + 2 = 2 - 11 = 1*2^0 + 1*2^1 = 1 + 2 = 3 - 100 = 0*2^0 + 0*2^1 + 1*2^2 = 0 + 0 + 4 = 4 - 101 = 1*2^0 + 0*2^1 + 1*2^2 = 1+ 0 + 4 = 5 - 110 = 0*2^0 + 1*2^1 + 1*2^2 = 0 + 2 + 4 = 6 - 111 = 1*2^0 + 1*2^1 + 1*2^2 = 1 + 2 + 4 = 7 - 1000 = 0*2^0 + 0*2^1 + 0*2^2 + 1*2^3 = 0 + 0 + 0 + 8 = 8 - 10011001 = 1*2^0 + 1*2^3 + 1*2^4 + 1*2^7 = 1 + 8 + 16 + 128 = 153 Da DECIMALE a BINARIO: - 5 = 4 + 1 = 1*2^2 + 1*2^0 = 101 - 10 = 8 + 2 = 2^3 + 2^1 = 1010 - 12 = 8 + 4 = 2^3 + 2^2 = 1100 - 21 = 16 + 4 + 1 = 2^4 + 2^2 + 2^0 = 10101 - 1457 = 1024 + 256 + 128 + 32 + 16 + 1 = 2^10 + 2^8 + 2^7 + 2^5 + 2^4 + 2^0 = 10110110001 NOTA: La regola dice che il numero di bit necessari per rappresentare in binario un numero decimale è l'intero superiore al logaritmo in base 2 del numero binario. Come si può notare dagli esempio appena visti, questa regola è rispettata, infatti: - il log2 di 1 è 0 e il suo intero superiore è 1, 1 bit necessario ==> 1 - il log2 di 2 è 1 e il suo intero superiore è 2, 2 bit necessari ==> 10 - il log2 di 3 è 1,58 e il suo intero superiore è 2, 2 bit necessari ==> 11 - il log2 di 8 è 3 e il suo intero superiore è 4, 4 bit necessari ==> 1000 - il log 2 di 1457 è 10,5 e il suo intero superiore è 11 ===> 10110110001