Codifica binaria dell`informazione e algebra di Boole Codifica binaria

Codifica binaria
dell’informazione e
algebra di Boole
1
Codifica binaria
• Deriva da dispositivi che possono essere
in due stati diversi, 0 e 1
– BIT = binary digit
– BYTE, otto bit, può avere 28 differenti
configurazioni
(00000000,
00000001,
00000010, …, 11111111)
• Calcolatore tratta diversi tipi di dati
– tutti codificati in forma binaria
2
1
Numeri naturali e interi
• Numeri naturali: si utilizza un sistema di
numerazione posizionale in base 2
– an an-1 … a0 rappresenta an × bn + an-1 × bn-1 … +
a0 × b0 in base b
– 0 ⇔ 00000000, 8 ⇔ 00001000; 255 ⇔
11111111 etc.
• Numeri interi: una possibile
rappresentazione è quella in modulo e segno
(primo bit del byte per il segno
– un byte codifica interi fra –127 (–(28–1 − 1)) e
127 (28–1 − 1)
3
Conversione decimale binaria
Si calcolano i resti delle divisioni per due
19: 2 Æ 1
9:2 Æ 1
4:2 Æ 0
2:2 Æ 0
1:2 Æ 1
10011
4
2
Rappresentazione
"in complemento a 2"
• da 00…000 a 01…111 i numeri si considerano
positivi e da 10…000 a 11…000 negativi
• la trasformazione di un valore positivo in
negativo si fa complementando ogni bit e
sommando 1 al risultato
(+7) 00111 Æ (-7) 11001
• la sottrazione si fa eseguento la somma del
complemento a 2 (e trascurando il riporto
eventuale
9 - 7 Æ 01001 + 11001 = X
100010
5
Rappresentazione ottale ed
esadecimale
• Base 8
– Si usano le lettere dell’alfabeto 0-7
• Esempio: 534 rappresenta 348 in base 10
• Base 16
– Si usano le lettere 0-9 e A-F
• Esempio: B7F rappresenta 11 × 162 + 7 × 161 +
15 × 160 = 2943 (in base 10)
6
3
Abbreviazione dei binari in
ottali ed esadecimali
Consideriamo il numero 247 in base 10
(011110111 in base 2)
011110111 si abbrevia come 367 in ottale
___________
_________
0F7 in ottale
7
Numeri frazionari e reali
• 0.1011 in base 2 rappresenta
• 1 × 2-1 + 0 × 2-2 + 1 × 2-3 + 1 × 2-4 in
base 10
• Un numero razionale (impropriamente
chiamato reale) si può rappresentare
in virgola fissa
– 10011.10110 rappresenta 19.6875
8
4
Reali in virgola fissa e mobile
• La rappresentazione in virgola fissa
suddivide una parola di memoria in due
parti fisse
• Numero di cifre prima e dopo la virgola fissato
• Rappresentazione in virgola mobile
– Usata spesso in notazione decimale
• 0.137
× 108
• Utilizza n bit per l’esponente (e) e m per la
mantissa (m) (mantissa è la parte frazionaria
compresa tra –1 e 1)
• R = m 2e
9
Caratteri
• I caratteri vengono codificati mediante
sequenze di bit
• Codice ASCII: utilizza 7 bit e quindi può
rappresentare 128 caratteri
– Quando viene usato in un PC che ha bytes
di 8 bit, un bit viene usato come bit di
parità
10
5
Cenni all’algebra di Boole
• L’algebra di Boole è basata su
operazioni logiche che si applicano a
operandi che possono assumero solo i
valori vero e falso
– Vero può essere rappresentato con il bit1 e
falso con il bit 0
11
Operatori e tavole di verità
A B
0 0
0 1
1 0
1 1
A AND B
0
0
0
1
A B
0 0
0 1
1 0
1 1
A
NOT A
0
1
1
0
A OR B
0
1
1
1
12
6
Equivalenza
• Due espressioni booleane sono
equivalenti se hanno la medesima
tavola di verità
• Leggi di De Morgan
– A AND B = NOT ((NOT A) OR (NOT B))
– A OR B = NOT ((NOT A) AND (NOTB))
13
Tautologia e contraddizione
• TAUTOLOGIA
– Espressione che è sempre vera
• Esempio A OR (NOT A)
• CONTRADDIZIONE
– Espressione che è sempre falsa
• Esempio A AND (NOT A)
14
7