il sistema binario. motivazioni tutti gli strumenti elettronici di nuova generazione rappresentano...
TRANSCRIPT
Il sistema binario
Il sistema binario
MOTIVAZIONITutti gli strumenti elettronici di nuova generazione rappresentano le informazioni sotto forma di numeri binariÈ più facile progettare un dispositivo elettronico capace di riconoscere solo due stati (0, 1) che dieci (0, 1, ... 9).
Il sistema binario
Sistema Numerico DecimaleValori numerici rappresentati per mezzo di dieci “simboli”:alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}Es. 20113,14 0,012
n, k ≥ 0
ia
baseposizione
virgola
k210 1 2 1nn10 ....aaaaa....aaaN .
Il sistema binario
kk
2-2
1-1
00
1n-1
2n-2
1n-1n
nn10
ba....baba
bababa....babaN
n, b ≥ 0 ia alfabeto
k210 1 2 1nn10 ....aaaaa....aaaN .
10
213
210 1 2 3
10 10
2095.420.020.45902000
1021045109102
102104105109100102
2095.42N
b = base-10
Il sistema binario
n, b ≥ 0, ia alfabeto,
k210 1 2 1nn2 ....aaa.aa....aaaN
10
101010101010
321
01234
22
27.625
0.1250.512816
212021
2121202121
11011.101N
base b = 2alfabeto = {0, 1}
bit
Il sistema binario
Si basa solo su 2 cifre: 0 1 Ogni cifra viene chiamata bit (Binary
digit) Un gruppo di 8 bit forma 1 Byte Con 1 Byte si possono ottenere 256
combinazioni (28 = 256) Le combinazioni si associano ai
numeri fra 0 e 255 (256 numeri diversi)
Il sistema binario
Conversione da decimale a binario
Metodo delle divisioni successive:
(121)10 = (0111 1001)2
Si considerano i resti della divisione per 2 dal basso verso l’alto a gruppo di 4
121 1
60 0
30 0
15 1
7 1
3 1
1 1
0
Il sistema binario
Conversione da binario a decimale
Ogni bit viene moltiplicata per il peso (2 elevato alla posizione) partendo da 0 e la somma dei prodotti è il numero decimale corrispondente (64+32+16+8+1=121)
Bit 0 1 1 1 1 0 0 1Posizioni 7 6 5 4 3 2 1 0
Pesi 128 64 32 16 8 4 2 1
Prodotti 0 64 32 16 8 0 0 1
Il sistema binario
1 0 1 0 1
Posizione: 4 3 2 1 0
1 × 2 4 + 0 × 2 3 + 1 × 2 2 + 0 × 2 1 + 1 × 2 0 = 16 + 0 + 4 + 0 + 1 =
21
Bit meno significativo(LSB)
Bit più significativo(MSB)
Il sistema binario
Con n bit si possono scrivere i numeri interi compresi fra 0 e 2n - 1
Bit Intervallo1 Da 0 a 1
2 Da 0 a 3
3 Da 0 a 7
4 Da 0 a 15
5 Da 0 a 31
6 Da 0 a 63
7 Da 0 a 127
8 Da 0 a 255
9 Da 0 a 511
10 Da 0 a 1023
Il sistema binario
bin dec
00 001 110 2
11 3
Codifica a 2 bit (4 configurazioni) Codifica a 3 bit (8 configurazioni)
bin dec
000 0001 1010 2 011 3 100 4101 5110 6111 7
Il sistema binario
Oltre 10 bit si approssima per convenzione210 = K220 = M230 = G240 = T
Es. con 13 bit il massimo è 213-1 = 8191 ma si approssima con
213 = 23 * 210 = 8 K Es. con 26 bit il massimo è 226-
1 = 67.108.863 ma si approssima con
226 = 26 * 220 = 64 M
Il sistema binario
Dalla tabella si desume il numero minimo di bit necessari per scrivere un numero decimale Es. per 50 servono almeno 6 bit Es. per 121 servono almeno 7 bit
Bit Intervallo1 Da 0 a 1
2 Da 0 a 3
3 Da 0 a 7
4 Da 0 a 15
5 Da 0 a 31
6 Da 0 a 63
7 Da 0 a 127
8 Da 0 a 255
9 Da 0 a 511
10 Da 0 a 1023
Il sistema binario
Per il numero minimo di bit si può procedere approssimando 3 cifre decimali con 10 bit
Es. Per scrivere 12.890 servono 4 bit per il 12 e 10 bit per le migliaia. Totale 14 bit
Es. Per scrivere 12.890.456 servono 4 bit per il 12 e 20 bit per i milioni. Totale 24 bit
Il sistema binario
Somma in binario (2)10=(10)2 e (3)10=(11)2
Riporto 1 1 1 1 1
Addendo
(60)0 0 1 1 1 1 0 0 +
Addendo
(110) 0 1 1 0 1 1 1 0 =
Somma
(170) 1 0 1 0 1 0 1 0
Il sistema binario
Sottrazione in binario (2)10=(10)2
Prestito v v
Minuendo
(102)0 1 1 0 0 1 1 0 -
Sottraendo
(60) 0 0 1 1 1 1 0 0 =
Differenza
(42) 0 0 1 0 1 0 1 0
Il sistema binario
Moltiplicazione e divisione in binario
1101 x 1010 0000 1101 0000 1101 10000010
13x10=130
110011001 : 101 = 1010001101==10 101 101 ===1 10 100 1001 101 =100409/5=81 resto=4
Il sistema binario
Da decimale 24A binario 11000
Da binario 110011001A decimale 409
Conversione con Excel
Il sistema binario
Altri sistemi utilizzati Ottale / Base 8: alfabeto = {0, 1, 2, 3, 4, 5, 6,
7} Esadecimale / Base 16: alfabeto = {0, 1, 2,
3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Il sistema binario
Rappresentazione in Ampiezza e Segno
Il primo bit è usato per indicare il segno.
0 per il segno +
1 per il segno –
N.B. Presenza del
doppio zero
102102
102102
102102
102102
102102
102102
102102
102102
7111170111
6111060110
5110150101
4110040100
3101130011
2101020010
1100110001
01000 00000
Il sistema binario
Eccesso PX è rappresentato tramite la notazione binaria X + P.
Esempio: P=8
X=4 diviene 4+8=12=
(1100)2
X=-3 diviene -3+8=5=
(0101)2
N.B. (-2)+(-3)=5102102
102102
102102
102102
102102
102102
102102
102102
7111110111
6111020110
5110130101
4110040100
3101150011
2101060010
1100170001
0100080000
Il sistema binario
Interi Negativi in Complemento a Uno La rappresentazione
degli interi positivi corrisponde a quella dei primi 2n-1 numeri naturali
Quella dei numeri negativi si ottiene complementando i bit
N.B. Presenza del doppio zero
102102
102102
102102
102102
102102
102102
102102
102102
7100070111
6100160110
5101050101
4101140100
3110030011
2110120010
1111010001
01111 00000
Il sistema binario
Interi Negativi in Complemento a Due La rappresentazione degli interi positivi
corrisponde a quella dei primi 2n-1 numeri naturali
Quella dei numeri negativi si ottiene aggiungendo una unità al complemento a uno.
Esempio: 610 = 01102
-610 = C(01102)+1 = 1001+1 = 1010
Il sistema binario
Interi Negativi in Complemento a Due
0000 0 1000 -8
0001 1 1001 -7
0010 2 1010 -6
0011 3 1011 -5
0100 4 1100 -4
0101 5 1101 -3
0110 6 1110 -2
0111 7 1111 -1
Il sistema binario
Interi Negativi in Complemento a Due I numero positivi hanno uno 0 in testa,
mentre i negativi un 1 in testa Rappresentazione unica dello 0 Struttura ciclica: aggiungendo una unità al
massimo numero rappresentabile (+7) si ottiene il minimo (-8)
Coerenza: Operazioni aritmetiche coi numeri negativi utilizzando le stesse regole dei numeri positivi
Il sistema binario
Interi Negativi in Complemento a Due
7 01112 0010
5 0101
3 00112 1110
5 0101
1
Il sistema binario
Interi Negativi in Complemento a DueOverflow: il numero di bit a disposizione della
rappresentazione non è sufficiente per rappresentare il risultato
overflow overflow corretto
9 10016 0110
3 0011
11 010116 1010
5 1011
7 100112 1110
5 1011
Il sistema binario
Numeri (non Interi) in formato Fixed Point Definito il numero di bit per la
rappresentazione (16 o 32) e la posizione del punto che rimane fissa, le parti intere e frazionarie sono convertite separatamente in base 2
Il sistema binario
Numeri in formato Fixed Point Esempio: 22,72265625
Parte intera
22 = 1 01102
22 0
11 1
5 1
2 0
1 1
0
Il sistema binario
Numeri in formato Fixed Point Esempio: 22,72265625
Parte frazionaria
0,72265625 =
1011 10012
0,722656251 0,445312500 0,8906251 0,781251 0,56251 0,1250 0,250 0,51 00 0
Il sistema binario
Conversione da decimale a binario della parte frazionaria
Metodo delle moltiplicazioni successiveSi considerano le parti intere delle moltiplicazioni per 2 della parte frazionaria dall’alto verso il basso
Il sistema binario
Numeri in formato Fixed Point Esempio: 22,72265625
Parte intera 22 = 1 01102
Parte frazionaria 0,72265625 =
1011 10012
Scegliendo la posizione del punto dopo 6 cifre:
Risultato = 0101 10.10 1110 01002
Il sistema binario
Numeri (non Interi) in formato Floating Point Il numero R è espresso nella forma
E esponente o caratteristica: numero intero relativo rappresentato in eccesso 127 (bias) e quindi valori 0 fra 255 corrispondono a quelli fra -127 +128. I valori 0 e 255 vengono riservati per funzioni speciali, per cui E è compreso fra -126 e 127
M mantissa: numero razionale con una parte intera e una frazionaria rappresentato in virgola fissa e in ampiezza e segno
EMR 2
Il sistema binario
Numeri in formato Floating Point
Standard IEEE 754 (1985):
MEs
mantissaParte frazionaria di M
esponenteE=e+127
segno della mantissa ( 0= +, 1= - )
31 30 23 22 0
Il sistema binario
Numeri in formato Floating Point
E: assume valori tra -127 e +128 M: punto decimale implicitamente assunto
alla destra del bit più significativo. In forma normalizzata cioè la parte intera costituita da un unico bit pari a 1 che non viene rappresentato
EMR 2
Il sistema binario
Numeri in formato Floating Point
Esempio: Il numero 0,21484375 corrisponde in
binario a 0.0011 0111 Normalizzato: 1.10111 x 2-3
La mantissa, nascondendo il bit più significativo, diviene 10111
L’esponente -3, in notazione eccesso 127, diviene -3+127 = 124 = (0111 1100 )2
Il sistema binario
Numeri in formato Floating Point
Esempio (cont.): Il numero 0,21484375 è convertito in
101 1100 0000 0000 0000 00000111 11000
MantissaEsponente (124):-3 in notazione eccesso 127
Bit di segno: 0 (positivo)
31 30 23 22 0
Il sistema binario
Numeri in formato Floating Point
Esempio: Il numero 1100 0011 1101 0000 0000 0000 0000 0000 è convertito in
101 0000 0000 0000 0000 00001000 01111
Mantissa: 0.625 ovvero 1.625
Esponente (135):8 in notazione eccesso 127
Bit di segno: 1 (negativo)
31 30 23 22 0
Risultato: R=M.2° = -1.625 x 28 = -416
Il sistema binario
Numeri in formato Floating PointRange dei valori:
Mantissa 23 bit + 1 bit a 1 sottointeso: da 1.00…00 a 1.11…11 cioè da 1 a 1 + ( 1 – 223) = 2 – 223
Esponente 8 bit 0 a 28-1 = 255. Per l’eccesso 127 il range diviene da -127 a 128 ristretto a -126→127
Numero più grande rappresentabile = (2 – 223) x 2127 ≈ 1.43 x 1045 = 1.430.000.000.000.000.000.000.000.000.000.000.000.000.000.000
Numero positivo più piccolo rappresentabile = 1 x 2-126 ≈ 1.18 x 10-38 =
0,000 000 000 000 000 000 000 000 000 000 000 000 011 8
Il sistema binario
Numeri in formato Floating PointEccezioni:
Categoria Esp. Mantissa
Zeri 0 (-127) 0
Numeri denormalizzati 0 (-127) non zero
Numeri normalizzati 1-254 (-126/127) qualunque
Infiniti 255 (128) 0
Nan (not a number) 255 (128) non zero
Il sistema binario
Numeri in formato Floating Point
Precisione E M Totale Decimale
Singola 8 23 32b = 4B 7
Doppia 11 52 64b = 8B 16
Quadrupla 15 122 128b = 16B 34