Il sistema binario
Il sistema binario


MOTIVAZIONI
Tutti 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 Decimale
 Valori numerici rappresentati per
mezzo di dieci “simboli”:
 alfabeto = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 Es. 2011
3,14
0,012
n, k ≥ 0
N10  anan1....a 2a 1a 0 .a1a2 ....ak
ai 
base
virgola
posizione
Il sistema binario
N 10  anan1....a 2a 1a 0 .a1a2 ....ak
N 10  anbn  an1bn-1  ....  a2bn-2  a1bn-1  a0b0 
 a1b-1  a2b-2  ....  ak b k
n, b ≥ 0
N10  2095.42
10
ai  alfabeto
b = base-10

 2 10 3  0 10 2  9 10 1  5 10 0  4 10 1  2 10 2 
 2 10 3  9 10  5  4 10 1  2 10 2 
 2000  90  5  0.4  0.02  2095.42
10
Il sistema binario
N 2  a na n 1....a 2a 1a 0 .a 1a 2 ....a k
base b = 2
alfabeto = {0, 1}
ai  alfabeto,
n, b ≥ 0,
bit
N 2  11011.1012 
 1 2  1 2  0  2  1 2  1 2 
4
1
3
2
2
3
1
0
1 2  0  2  1 2 
 1610  810  210  110  0.510  0.12510 
 27.62510
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
60
30
15
7
3
1
0
1
0
0
1
1
1
1
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
Posizioni
Pesi
Prodotti
0 1 1 1
7
4
3
2
1
0
128 64 32 16
8
4
2
1
8
0
0
1
0
6
5
1 0 0 1
64 32 16
Il sistema binario
Posizione:
Bit più significativo
(MSB)
4 3
2
1
0
10101
Bit meno significativo
(LSB)
1×24 + 0×23 + 1×22 + 0×21 + 1×20 =
16 +
0 +
4 +
0 +
1 =
21
Il sistema binario
Bit

Con n bit si possono
scrivere i numeri
interi compresi fra 0
e 2n - 1
Intervallo
1
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
Codifica a 2 bit (4 configurazioni)
bin
00
01
10
11
Codifica a 3 bit (8 configurazioni)
bin
dec
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
dec
0
1
2
3
Il sistema binario
Oltre 10 bit si  Es. con 13 bit il massimo è 213approssima
1 = 8191 ma si approssima con
per
13 = 23 * 210 = 8 K
2
convenzione
210
=K
220 = M
230 = G
240 = T

Es. con 26 bit il massimo è 2261 = 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
Intervallo
1
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
Prestito
v
v
(2)10=(10)2
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 = 1010001
101
==10
101
101
===1
10
100
1001
101
=100
409/5=81 resto=4
Il sistema binario
Conversione con Excel
Da decimale
A binario
Da binario
A decimale
24
11000
110011001
409
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 +
0000 2  010
1000 2  010
00012  110
10012  110
1 per il segno –
N.B. Presenza del
doppio zero
0010 2  210
1010 2  210
00112  310
10112  310
0100 2  410
1100 2  410
01012  510
11012  510
0110 2  610
1110 2  610
01112  710
11112  710
Il sistema binario
Eccesso P
X è rappresentato tramite la notazione binaria X + P.
Esempio: P=8
0000 2  810 1000 2  010
X=4 diviene 4+8=12=
00012  710 10012  110
(1100)2
0010 2  610 1010 2  210
X=-3 diviene -3+8=5=
00112  510 10112  310
(0101)2
0100  4
1100  4
2
10
01012  310
N.B. (-2)+(-3)=5
2
10
11012  510
0110 2  210 1110 2  610
01112  110
11112  710
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
0000 2  010
11112  010
00012  110
1110 2  110
0010 2  210
11012  210
00112  310
1100 2  310
0100 2  410
10112  410
01012  510
1010 2  510
0110 2  610
10012  610
01112  710
1000 2  710
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
0101  5
0010  2
0111  7
0101  5
1110  2
1  0011  3
Il sistema binario
Interi Negativi in Complemento a Due
Overflow: il numero di bit a disposizione della
rappresentazione non è sufficiente per
rappresentare il risultato
overflow
overflow
corretto
1011  5
0011  3
0110  6
1001  9
1011  5
1110  2
1  1001  7
1010  6
1  0101  11
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

1
0
1
1
1
0
0
1
0
0,72265625
0,44531250
0,890625
0,78125
0,5625
0,125
0,25
0,5
0
0
Il sistema binario
Conversione da decimale a binario della
parte frazionaria
Metodo delle moltiplicazioni successive
Si 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
R  M 2


E
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
Il sistema binario
Numeri in formato Floating Point
Standard IEEE 754 (1985):
31 30
s
23 22
E
0
M
esponente
E=e+127
segno della mantissa ( 0= +, 1= - )
mantissa
Parte frazionaria di M
Il sistema binario
Numeri in formato Floating Point
R  M 2


E
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
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
31 30
0
23
0111 1100
22
0
101 1100 0000 0000 0000 0000
Esponente (124):
-3 in notazione
eccesso 127
Bit di segno: 0 (positivo)
Mantissa
Il sistema binario
Numeri in formato Floating Point
Esempio: Il numero 1100 0011 1101 0000
0000 0000 0000 0000 è convertito in
31 30
1
23
1000 0111
22
0
101 0000 0000 0000 0000 0000
Esponente (135):
8 in notazione
eccesso 127
Mantissa: 0.625
ovvero 1.625
Bit di segno: 1 (negativo)
Risultato: R=M.2° = -1.625 x 28 = -416
Il sistema binario
Numeri in formato Floating Point
Range 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 Point
Eccezioni:
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
Scarica

Poliba sistema binario