La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.

Copie: 1
Rappresentazione binaria dei numeri interi senza segno.

Presentazioni simili


Presentazione sul tema: "Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono."— Transcript della presentazione:

1 Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono

2 Rappresentazione binaria dei numeri interi senza segno

3 Conversione Decimale-Binario: 55 mod 2 =1 = a0 (55 div 2) mod 2 = 27 mod 2 = 1 = a1 ((55 div 2) div 2) mod 2= (27 div 2) mod 2=13 mod 2=1= a2 (13 div 2) mod 2= 6 mod 2 = 0 =a3 (6 div 2) mod 2 = 3 mod 2 = 1 =a4 (3 div 2) mod 2 = 1 mod 2 = 1 = a5 Dunque: = Conversione Binario-Esadecimale: 1)Raggruppo i bit a blocchi di 4: )Converto ciascun blocco in base = =7 16 Dunque: =

4 Conversione Binario-Decimale: =0*2 0 +1*2 1 +0*2 2 +0*2 3 +1*2 4 +0*2 5 +1*2 6 +0*2 7 = = =82 10 Conversione Binario-Esadecimale: 1)Raggruppo i bit a blocchi di 4: )Converto ciascun blocco in base = =2 16 =>

5 Conversione Esadecimale-Decimale: A7=10* *16 0 =10*16+7=167 3E= 3*16 1 +E*16 1 =48+14=62 Conversione Esadecimale-Binario: 1)Traduco ciascuna cifra esadecimale in un blocco di 4 bits : A 16 = = = = 7 10 = = )Il binario corrispondente si ottiene sostituendo ciascuna cifra esadecimale con il relativo blocco di 4 bit: A7 16 =

6 Conversione Decimale-Binario frazionaria: Parte Intera {(0,1 * 2)} =0 = a-1 Parte Intera {Parte Frazionaria{(0,1 * 2)}} = 0 = a-2 …. 0,1 * 2 = 0,2 -> 0 = a-1 0,2 * 2 = 0,4 -> 0 = a-2 0,4 * 2 = 0,8 -> 0 = a-3 0,8 * 2 = 1,6 -> 1 = a-4 0,6 * 2 = 1,2 -> 1 = a-5 0,2 * 2 = 0,4 -> 0 = a-6 …. Dunque: 0,1 10 =0, (Periodico) Conversioni numeri razionali Conversione Binario-Decimale frazionaria: 0, =0*2 0 +1* * * * * * *2 -7 = 0,

7 Somma tra Numeri Binari Interi Positivi Regole base: 0+0=0 0+1=1+0=1 1+1=0 con riporto di (1)=1 con rip.1, dove (1) e il riporto proveniente dallo step precedente Esempio: riporti = riporti = Un trabocco indica un overflow

8 Sottrazione tra Numeri Binari Interi Positivi Regole base: 0-0=0 0-1=1 con prestito di 1 1-0=1 1-1=0 Esempio: prestiti = prestiti = Un trabocco indica un underflow.

9 Moltiplicazione tra Numeri Binari Interi Positivi La moltiplicazione puo essere realizzata banalmente sommando al moltiplicando se stesso, un numero di volte pari al valore del moltiplicatore. 5*3=5+5+5=15. Assumendo che la somma abbia costo costante operando su addendi rappresentabili con un numero di bits noto a priori, tale algoritmo ha complessità computazionale pari a O(N), dove N è il valore del moltiplicatore. Se moltiplicando e moltiplicatore sono rappresentati con k bits, il prodotto può richiedere fino a un max di 2k bits per la sua rappresentazione x = somme parziali

10 Moltiplicazione tra Numeri Binari Interi Positivi: Potenze di 2 Nel caso di moltiplicazione per potenza k-esima di 2 il risultato è uno shift a sinistra di k posizioni: x 10 = x 100 =

11 Divisione tra Numeri Binari Interi Positivi Verifichiamo la correttezza del calcolo: 1001* 10001= = (resto) resto quoziente

12 Divisione tra Numeri Binari Interi Positivi: Potenze di 2 Nel caso di divisione per potenza k-esima di 2 il risultato è uno shift a destra di k posizioni:

13 Rappresentazione binaria dei numeri interi con segno

14 = = (senza segno) =-1*( )= (segno e modulo) =-1* = (complemento a 2) per verificare: a) invertiamo 1 con 0 e viceversa: , b) sommiamo 1: =91 Proprietà della rappresentazione in complemento a 2: 1) Loperazione di cambiamento di segno è eseguibile complementando alla base 2) La sottrazione si può ricondurre ad una somma (vedi prox slide) 3) E possibile rappresentare lo stesso numero con un numero maggiore di bit semplicemente copiando il bit + significativo: es: = (con 4 bit)= (con 8 bit)=

15 Somma tra Numeri Binari in Complemento a 2 Siano a e b due numeri e sia R(a) e R(b) la rappresentazione di a e b in complemento alla base (ad es. base 2) Sommando R(a) ed R(b), e ignorando leventuale riporto dalla posizione più significativa, otteniamo R(a+b). A meno che non vi sia discordanza tra il segno del risultato e quello comune dei due addendi (ovvero a>0,b>0,a+b 0): in tal caso si ha un supero di capacità = [2 + (-3) = -1] riporto = =OVERFLOW[6 + 7 = 13>7!] riporto In generale per calcolare a – b basta: 1)Trovare il complemento a 2 di b, cioè -b 2)Sommare a+(-b)

16 Somma tra Numeri Binari in Complemento a 2 Siano a e b due numeri e sia R(a) e R(b) la rappresentazione di a e b in complemento alla base (ad es. base 2) Sommando R(a) ed R(b), e ignorando leventuale riporto dalla posizione più significativa, otteniamo R(a+b). A meno che non vi sia discordanza tra il segno del risultato e quello comune dei due addendi (ovvero a>0,b>0,a+b 0): in tal caso si ha un supero di capacità =OVERFLOW [-1 + (-8) = -9<-8] riporto = =0101[6 + (-1) = 5] riporto Loverflow è possibile solo se gli addendi hanno segno comune!

17 CORREZIONE ERRORI CODICI DI HAMMING Per rivelare errori di trasmissione il sistema che invia dati introduce ridondanza nelle informazioni trasmesse. Codice (n, k) con n> k => codice con parole di lunghezza n di cui k bit di informazione Un codice a distanza minima d e capace di rivelare errori di peso <= d-1 Dato un codice a distanza minima d esso ha una capacita di correzione di errori di peso <= INTINF((d-1)/2) Bits di parità Sistema trasmissione Bits di informazione ricevuti p4 = I5 + I6 + I7 p2 = I3 + I6 + I7 p1 = I3 + I5 + I7 S4 = p4 + I5 + I6 + I7 S2 =p2 + I3 + I6 + I7 S1 = p1+ I3 + I5 + I7 Generatore di chek bits (Encoder) Controllo dei chek bits (Decoder)

18 CORREZIONE ERRORI CODICI DI HAMMING INFORMAZIONE DA INVIARE: 0110 STRINGA DI INVIO: posizione XXXX XXXX XXXX Gruppi I 7 + I 6 + I 5 + p 4 = 0 I 7 + I 6 + I 3 + p 2 = 0 I 7 + I 5 + I 3 + p 1 = 0 Bit di parità I7I7 I6I6 I5I5 p4p4 I3I3 p2p2 p1p1

19 CORREZIONE ERRORI CODICI DI HAMMING STRINGA RICEVUTA: INFORMAZIONE RICEVUTA: 0110 ok!!!!! STRINGA RCEVUTA: INFORMAZIONE RICEVUTA: ERRORE NEL 4 BIT, QUINDI CORREGGO E AVRO ED ESTRAENDO LINFORMAZIONE: 0110 ok!!!!! S4 = p4 + I5 + I6 + I7 S2 =p2 + I3 + I6 + I7 S1 = p1+ I3 + I5 + I7 S4 = 0 S2 = 0 S1 = 0 S4 = p4 + I5 + I6 + I7 S2 =p2 + I3 + I6 + I7 S1 = p1+ I3 + I5 + I7 S4 = 1 S2 = 0 S1 = 0


Scaricare ppt "Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono."

Presentazioni simili


Annunci Google