Scaricare la presentazione
PubblicatoPietro Innocenti Modificato 10 anni fa
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
00110111 37 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: 5510= Conversione Binario-Esadecimale: Raggruppo i bit a blocchi di 4: Converto ciascun blocco in base 16 112= =716 Dunque: = 3716
4
00110111 37 82 52 Conversione Binario-Decimale:
=0*20+1*21+0*22+0*23+1*24+0*25+1*26+0*27= = =8210 Conversione Binario-Esadecimale: Raggruppo i bit a blocchi di 4: Converto ciascun blocco in base 16 01012= =216 =>5216
5
00110111 37 82 52 167 10100111 62 Conversione Esadecimale-Binario:
Traduco ciascuna cifra esadecimale in un blocco di 4 bits : A16 = 1010= 23+21= = 710= =01112 Il binario corrispondente si ottiene sostituendo ciascuna cifra esadecimale con il relativo blocco di 4 bit: A716= Conversione Esadecimale-Decimale: A7 =10*161+7*160=10*16+7=167 3E = 3*161+E*161=48+14=62
6
Conversioni numeri razionali
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,110=0, (Periodico) Conversione Binario-Decimale frazionaria: 0, =0*20+1*2-1+0* * * * * *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+1+(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
00110 x 00101 = 00110 00000 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. 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: 00110 x 100 = 00000 00110 00110 x 10 = 00000 00110 001100
11
Divisione tra Numeri Binari Interi Positivi
Verifichiamo la correttezza del calcolo: 1001* 10001= 1001 0000 0010= (resto) 1001 0010 quoziente resto
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: 1000 1011 11
13
Rappresentazione binaria dei numeri interi con segno
14
Proprietà della rappresentazione in complemento a 2:
= = (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) L’operazione 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: -710=10012 (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 l’eventuale 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 oppure a<0,b<0,a+b>0): in tal caso si ha un supero di capacità. = [2 + (-3) = -1] riporto 0010+ 1101= 1111 =OVERFLOW [6 + 7 = 13>7!] riporto 0110 0111 1101 In generale per calcolare a – b basta: Trovare il complemento a 2 di b, cioè -b 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 l’eventuale 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 oppure a<0,b<0,a+b>0): in tal caso si ha un supero di capacità. =OVERFLOW [-1 + (-8) = -9<-8] riporto 1111+ 1000= 0111 =0101 [6 + (-1) = 5] riporto 0110 1111 0101 L’overflow è 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 informazione ricevuti Sistema trasmissione Generatore di chek bits (Encoder) Bits di parità Controllo dei chek bits (Decoder) p4 = I5 + I6 + I7 p2 = I3 + I6 + I7 S4 = p4 + I5 + I6 + I7 p1 = I3 + I5 + I7 S2 =p2 + I3 + I6 + I7 S1 = p1+ I3 + I5 + I7
18
CORREZIONE ERRORI CODICI DI HAMMING
INFORMAZIONE DA INVIARE: 0110 STRINGA DI INVIO: 7 6 5 4 3 2 1 posizione X Gruppi I7 + I6 + I5 + p4 = 0 I7 + I6 + I3 + p2 = 0 I7 + I5 + I3 + p1 = 0 Bit di parità I7 I6 I5 p4 I3 p2 p1
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 L’INFORMAZIONE: 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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.