Conversioni di base: riassunto Parte intera: divisioni per la nuova base, ogni resto rappresenta una cifra a par7re dalla meno significa7va Parte frazionaria: mol7plicazioni per la base, la parte intera di ogni prodo;o rappresenta una cifra a par7re dalla più significa7va
Esempio: Conversione binaria Volendo conver7re 13.125 10 in base 2 si divide il numero nelle par7 intera e frazionaria e si procede come segue:
Conversione Parte Intera La conversione in binario di un numero intero si ogene con divisioni (intere) successive per 2, fermandosi quando il risultato è pari ad 0 e leggendo i res7 o;enu7 partendo dall ul7mo trovato:
Parte intera 13 10 = 1 1 0 1 2 Numero: 13 : 2 = Resto della divisione 1 Parte intera: 6 : 2 = Resto della divisione 0 Parte intera: 3 : 2 = Resto della divisione 1 Parte intera: 1 : 2 = Resto della divisione 1 Parte intera: 0 STOP
Conversione Parte Frazionaria - 1 La conversione di un numero frazionario in binario si effe;ua per mol7plicazioni successive. Ad ogni passaggio si conserva la parte intera risultante dal prodo;o e si ripete il prodo;o sulla parte frazionaria rimanente. La conversione può terminare in due modi: La parte frazionaria si annulla La parte frazionaria diventa periodica Le cifre intere, le;e nell ordine di calcolo, danno la conversione binaria del numero.
Conversione Parte Frazionaria - 2 0.125 10 = 0.0 0 1 2 Numero: 0.125 x 2 = 0 Resto: 0.250 x 2 = 0 Resto: 0.500 x 2 = 1 Resto: 0 Fine conversione Risulta 13.125 10 = 1101.001 2
Esempio: Conversione o;ale - 1 Conver7re in o;ale il numero 13.125 10 Applicare il metodo delle divisioni successive per la parte intera, Applicare il metodo delle mol7plicazioni successive per la parte frazionaria
Esempio: Conversione o;ale - 2 Parte intera: 13 10 = 1 5 8 Numero: 13 : 8 = Resto della divisione 5 Parte intera: 1 : 8 = Resto della divisione 1 Parte intera: 0 STOP Parte frazionaria: 0.125 10 = 1 8 Numero: 0.125 x 8 = Parte intera 1 Resto: 0 STOP Risulta: 13.125 10 =15.1 8
Esempio: Conversione esadecimale - 1 Conver7re in esadecimale il numero 13.125 10 Applicare il metodo delle divisioni successive per la parte intera, Applicare il metodo delle mol7plicazioni successive per la parte frazionaria
Esempio: Conversione esadecimale - 2 Parte intera: 13 10 = D 16 Numero: 13 : 16 = Resto della divisione 13 D Parte intera: 0 STOP Parte frazionaria: 0.125 10 = 2 16 Numero: 0.125 x 16 = Parte intera 2 Resto: 0 STOP Risulta: 13.125 10 =D.2 16
CONVERTIRE IL NUMERO 58,07 10 IN BINARIO
CONVERTIRE IL NUMERO 58,07 10 IN BINARIO
CONVERTIRE IL NUMERO 58,07 10 IN BINARIO
CONVERTIRE IL NUMERO 4287,312 10 IN ESADECIMALE
CONVERTIRE IL NUMERO 4287,312 10 IN ESADECIMALE
CONVERTIRE IL NUMERO 4287,312 10 IN ESADECIMALE
Conversione di un numero dalla base b 1 alla base b 2 quando b 2 = b 1 k dove K è un intero 2 ESEMPIO: b 1 =2, b 2 =8=2 3 N 2 = d k d k- 1... d 5 d 4 d 3 d 2 d 1 d 0 = d k 2 k +.+d 5 2 5 +d 4 2 4 +d 3 2 3 +d 2 2 2 +d 1 2 1 +d 0 2 0 =.+(d 5 2 2 +d 4 2 1 +d 3 2 0 )2 3 +(d 2 2 2 +d 1 2 1 +d 0 2 0 )2 0 = c h 2 3*h +. +c 2 2 3*2 +c 1 2 3*1 +c 0 2 3*0 con 0 c i 7 = c h 8 h +. c 2 8 2 +c 1 8 1 +c 0 8 0 N 8 = c h c h- 1... c 5 c 4 c 3 c 2 c 1 c 0 Quindi se una base è potenza dell altra, con esponente K, la conversione è molto semplice: basta sos7tuire ogni gruppo di K cifre del numero in una base (b 1 ) con la cifra corrispondente nell altra base (b 2 ) o viceversa. N.B. se il numero di bit non è mul7plo di K aggiungere gli 0 necessari a renderlo tale in posizioni che non modifichino il significato del numero.
Da binario a esadecimale Una cifra esadecimale corrisponde a 4 bit Si possono rappresentare numeri binari lunghi con poche cifre (1/4) La conversione da binario ad esadecimale è immediata, raggruppando le cifre binarie in gruppi di 4 (da destra) e sos7tuendole con le cifre esadecimali secondo la tabella precedente
Binario Esadecimale Raggruppare le cifre della rappresentazione binaria in gruppi di qua;ro, se necessario aggiungendo tan7 zeri a sinistra della parte intera ed a destra della parte frazionaria. Sos7tuire ai gruppi di qua;ro l equivalente cifra esadecimale. 1101.001 2 1101.0010 2 1101.001 2 D.2 16 Segue: 13.125 10 =1101.001 2 =D.2 16
Da esadecimale a binario La conversione da esadecimale a binario si ogene espandendo ciascuna cifra con i 4 bit corrisponden7
Da binario a o;ale Raggruppare le cifre della rappresentazione binaria in gruppi di tre, se necessario aggiungendo tan7 zeri a sinistra della parte intera ed a destra della parte frazionaria. Sos7tuire ai gruppi di tre l equivalente cifra o;ale. 1101.001 2 001 101.001 2 1101.001 2 1 5.1 8 Segue: 13.125 10 =1101.001 2 =15.1 8
Conversioni fra basi diverse: esempi
Conversioni fra basi diverse: esempi
Conversioni fra basi diverse: esempi Si può fare anche il passaggio inverso
Conversioni fra basi diverse: esempi Si può fare anche il passaggio inverso
Conversione da base 8 a base 16
Conversione da base 16 a base 8
Bit, byte e rappresentazione Interi - 1 La memoria di un computer è cos7tuita da circui7 ele;ronici elementari capaci di mantenere nel tempo un segnale convenzionalmente indicato con 0 o 1. L informazione rappresentata dal circuito elementare è de;a bit. I bit sono aggrega7 in gruppi di 8. Un insieme di 8 bit è de;o byte. I byte vengono raggruppa7 a mul7pli di due. Esistono nomi anche per gruppi di byte, (es 2 byte = 1 word), ma si usa parlare di memoria da 2 byte o meglio da 32 bit ecc.
Bit, byte e rappresentazione Interi - 2 Quando i byte aggrega7 diventano migliaia ed oltre si antepongono a byte dei suffissi in base all ordine di grandezza dell aggregato:
Interi rappresentabili Data la possibilità di un bit di rappresentare solo due cifre, segue che la rappresentazione numerica che meglio si ada;a è quella binaria. Un byte è composto da 8 bit, quindi con un byte si può rappresentare un numero intero con al massimo 8 cifre, cioè da 0 a 2 8-1=255 Con opportune combinazioni di byte si possono rappresentare numeri interi posi7vi anche superiori: 2 byte = 16 bit rappresentabili: [0,(2 16-1)] = [0,65.635] 4 byte = 32 bit rappresentabili: [0,(2 32-1)] = [0,4.294.967.295]
Esempio In una cella di memoria da 8 bit il numero 50 10 è rappresentato in forma binaria e salvato come segue: 1 0 0 1 0 1 1 0 Lo stesso numero in una cella da 16 bit 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0
Dall informazione elementare alle operazioni elementari Inversione di un bit: 0 à 1, 1 à 0 somma di due bit: 0+0 = 0, 1+0 = 1, 0+1 = 1, 1+1 = 1 prodo;o di due bit 0*0 = 0, 1*0 = 0, 0*1= 0, 1*1 = 1 Se interpre7amo 0 come Falso (False, F) e 1 come Vero (True, T), le operazioni di cui sopra possono essere viste come operatori logici: Inversione = negazione, (NOT, ) Somma logica, (OR, ) Prodo;o logico, (AND, ) Mediante le sudde;e operazioni si possono elaborare sequenze di bit in modo arbitrario à operazioni base per costruire algoritmi Oltre all intui7va interpretazione logica queste operazioni sono facilmente realizzabili mediante disposi7vi ele;ronici (a loro volta elementari e combinabili in circui7 integra7)
Somma fra numeri binari, bit di Carry, bit di Overflow L operazione di somma gode delle stesse regole qualsiasi sia la base della rappresentazione numerica. Analogamente anche la ges7one dei ripor7 (CARRY) è la stessa. Per numeri rappresenta7 con un numero finito di bit, la somma può portare ad un numero in valore assoluto troppo grande per poter essere memorizzato nella memoria stessa (OVERFLOW)
Operazioni binarie
Somma algebrica di interi Somma: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto (carry) di 1 Esempio 1 1 1 1 1 0 0 1 + 1 1 0 1 = - - - - - - - - - - - - - - - - - 1 0 0 1 1 0 Quando si rappresentano i numeri con una quan7tà fissa n di cifre può succedere che il risultato di una somma non sia rappresentabile su n cifre; questa condizione è de;a di overflow. Nel caso binario si ha riporto quando il risultato > 1
Somma fra numeri binari - Esempio 38 10 +36 10 = 00100110 2 +00100100 2 = 00100110 + C=0 00100100 = 0 C=0 1 C=0 0 C=1 1 C=0 0 C=0 0 C=1 1 C=0 - - - - - - - - - - - - - - - - - - 01001010 2 = 74 10
Differenza di interi Nel caso 0 1 si chiede un pres7to al bit a sinistra e si esegue 10 1 = 1 Si esegue la so;razione secondo le seguen7 regole: 0-0 = 0 1-0 = 1 1-1 = 0 0-1 = 1 con pres7to (borrow) di 1 Esempio 1 1 1 0 0 1-1 0 1 0 1 = - - - - - - - - - - - - - - 1 0 0 1 0 0
Operazioni binarie
Prodo;o di interi La mol7plicazione tra numeri binari si effe;ua con lo stesso algoritmo u7lizzato per i numeri decimali, de;o di somma e scorrimento. Si esegue la mol7plicazione secondo le seguen7 regole: 0 x 0 = 0 1 x 0 = 0 0 x 1 = 0 1 x 1 = 1 Esempio 1 1 1 0 0 1 x 1 0 1 = 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1