Scarica codifica binaria - appunti di informatica e più Appunti in PDF di Elementi di Informatica solo su Docsity!
4. Codifica binaria dell’informazione4. Codifica binaria dell’informazione
Ing. Simona Colucci
Codifica binaria dell’informazioneCodifica binaria dell’informazione
- (^) Tutte le informazioni vanno tradotte in bit
(organizzati poi in byte o parole ):
- (^) Numeri naturali
- (^) Numeri interi(con segno)
- (^) Numeri frazionari
- (^) Numeri reali
- (^) Caratteri
- (^) Immagini
- (^) Nell’interazione con il calcolatore la codifica in
binario e la decodifica in formato leggibile sono
trasparenti all’utente
Sistemi posizionali:Sistemi posizionali: Rappresentazione in baseRappresentazione in base pp
Numero naturale N , composto da m cifre, in base p :
n
i
i i
n n
n
N p a n p a p a p a p a p
0
0 0
1 1
1
- (^) Spazio di Rappresentazione : numeri nell’intervallo discreto [ 0 , pm^ - 1 ]
Il sistema decimale:Il sistema decimale: rappresentazione in base 10 rappresentazione in base 10
- (^) Sistema posizionale
- (^) Esempio: 123 = 1 00 + 2 0 + 3
- (^) Base: p = 10
- (^) Insieme di simboli: ai {0,1,2,3,4,5,6,7,8,9}
- (^) Numero naturale N di m cifre:
- (^) Rappresentazione:
- (^) N 10 = an·10n+an- 1·10n-1+…+a 0 ·10^0 n=m-
- (^) Esempio, con m=3: 58710 = 5·10^2 +8·10^1 +7·10^0
- (^) Spazio di rappresentazione: intervallo discreto [0, 10m-
1]
Il sistema binario: unità di misuraIl sistema binario: unità di misura
- (^) kilobyte(Kb) = 210 byte = 1024 byte
- (^) megabyte(Mb) = 2^20 byte = 1048576 byte
- (^) gigabyte(Gb) = 2^30 byte = 1073741824 byte
- (^) terabyte(Tb) = 2^40 byte = 1099511627776 byte
Le approssimazioni a potenze di 10:
- (^) sono accettabili solo per i kilobyte: 1024 ~
- (^) sono inaccettabili per 10^4 ,10^5 ,10^6
- (^) le lettere maiuscole nel simbolo indicano che non si
tratta delle potenze di 10 del sistema internazionale
Basi ottale ed esadecimaleBasi ottale ed esadecimale
- (^) Rappresentazione in base 8:
- (^) Base ottale: p=8 ;
- (^) Insieme di simboli a i {0, 1, 2, 3, 4, 5, 6, 7}
- (^) Numero N di m cifre:
- Rappresentazione: N 8 = (an·8n+an-1·8n-1+…+ a 0 ·8^0 ) 10 n=m- Es. 234 8 = (2·8^2 +3·8^1 +4·8^0 ) 10 = 156 10
- Spazio di rappresentazione: [0, 8m-1]
- (^) Rappresentazione in base 16:
- (^) Base esadecimale: p=16 ;
- (^) Insieme di simboli a i {0, 1, 2, …, 9, A, B, C, D, E, F}
- (^) Notare: “11” al posto di “B” e “15” al posto di “F”, i loro equivalenti in base dieci
- (^) Numero N di m cifre:
- Rappresentazione: N 16 = (an·16n+an-1·16n-1+…+ a 0 ·16^0 ) 10 n=m- Esempio: B7F 16 = (11·16^2 +7·16^1 +15·16^0 ) 10 = 2943 10
- (^) Spazio di rappresentazione: [0, 16m-1]
Conversioni di baseConversioni di base
- (^) Le basi ottale ed esadecimale sono di interesse
informatico per la facilità di conversione, con il metodo”per parti”:
- (^) Da base 2 a base 8: si converte a gruppi di tre bit,
traducendo ciascuna tripla nella corrispondente cifra ottale
- (^) Da base 2 a base 16: si converte a gruppi di quattro bit,
traducendo ciascuna quadrupla nella corrispondente cifra
esadecimale
(001010110111) 2 =(2B7) 16
- (^) La base ottale ed esadecimale consentono una
grande sintesi di rappresentazione
SommaSomma
- (^) Le cifre sono 0 e 1 ed il riporto può essere solo 1
Riporto precedente Somma^ Risultato^ Riporto
0 0 + 0 0 0
0 0 + 1 1 + 0 1 0
0 1 + 1 0 1
1 0 + 0 1 0
1 0 + 1 1 + 0 0 1
1 1 + 1 1 1
Numeri interiNumeri interi
- (^) Includono anche i numeri negativi
- (^) Rappresentati tramite il segno ed il valore del
numero
- (^) Codifica binaria secondo uno delle due modalità
seguenti:
- (^) Rappresentazione in modulo e segno
- (^) Rappresentazione in complemento a due
Modulo e segnoModulo e segno
- (^) In un numero di m bit il primo bit è utilizzato per memorizzare il segno: - (^) “1” numero negativo - “0” numero positivo
- Spazio di rappresentazione: tra -(2m-1-1) e (2m-1-1)
- (^) Fenomeno dello zero positivo e negativo
Num. intero, base 10 Num. intero, base due, modulo e segno
- 3 111
- 2 110
- 1 101
- 0 100 +0 000 +1 001 +2 010 +3 011
Esempio m=
Complemento a due (CPLComplemento a due (CPL 22 ))
- Metodo alternativo per ottenere (-N)CPL
- (^) Complementare i bit della rappresentazione binaria del
modulo N(cambiare gli 1 in 0 e viceversa)
- (^) Sommare 1 al risultato ottenuto
Esempio: -N= -3 N=(3) 10 =(011) 2
complemento ad 1 100 complemento a 2 101
Somma e sottrazione in CPLSomma e sottrazione in CPL 22
- (^) Somma: come per i naturali
- Sottrazione: N 1 - N 2 = N 1 + (-N 2 )CPL
- (^) Carry:
- Il carry finale non viene considerato!
- (^) Overflow:
- (^) Se, sommando due interi di m bit dotati di segno concorde, ottengo un risultato di segno discorde (sempre considerando m bit), allora si ha un overflow (il risultato non è codificabile su m bit) e l’operazione è errata
- (^) L’overflow non può verificarsi se gli operandi sono di segno discorde
Rappresentazione:
- (^) Relativa alla parte frazionaria
- (^) Ottenuta tramite la formula
Spazio di rappresentazione:
- (^) Per un numero di n cifre in base p , posso rappresentare numeri nell’intervallo continuo: [ 0 , 1-p-n ] Errore di approssimazione:
- (^) minore di p-n
Numeri frazionari Numeri frazionari
2 1 2
1 1 ...^ i n
i i
n Np a p a p a n p a p
Esempi con n=3:
- base 10: Rappresentazione: (0,587) 10 = (5·10-1+8·10-2+7·10-3) Spazio di rapp.: [0, 1-10-3] = [0, 0.999] Errore : minore di 0.
- base 2: Rappresentazione: (0,101) 2 = (1·2-1+0·2-2+1·2-3) 10 = (0,625) 10 Spazio di rapp.: [0, 1-2-3] Errore : minore di 2-
Conversioni di base parteConversioni di base parte frazionariafrazionaria
- (^) Da base 2 a base 10:
- (^) Secondo la formula vista prima
- (^) Da base 10 a base 2:
- (^) Si moltiplica progressivamente per 2 la parte frazionaria
- (^) Si prendono le parti intere di ciascun prodotto dalla più alla meno significativa, con numero di bit proporzionale all’accuratezza
- (^) Esempio: 0.587 10 0.5872= 1.174 parte intera 1 parte frazionaria 0. 0.1742= 0.348 parte intera 0 parte frazionaria 0. 0.3482= 0.696 parte intera 0 parte frazionaria 0. 0.6962= 1.392 parte intera 1 parte frazionaria 0. 0.3922= 0.784 parte intera 0 parte frazionaria 0. 0.7842= 1.568 parte intera 1 parte frazionaria 0. ….. Risultato : 0.1001 con quattro cifre e approssimazione accurate entro il limite 2- 0.100101 con sei cifre e approssimazione accurate entro il limite 2-