Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Monica Bianchini
Dipartimento di Ingegneria dell’Informazione
ENIAC (1946 ca.)
E-mail: monica@dii.unisi.it
L’algebra di Boole
da Analisi Matematica della Logica (1847) al
progetto degli elaboratori digitali
Sistemi di numerazione
UNIVAC (1951)
da additivo a posizionale, da decimale a binario,
a esadecimale: l’alfabeto dell’elaboratore
0 1
00 0 0 1
01 1 0+0 0+1
10 1 1 1
11 1
0 1
1+0 1+1
00 0 0 0 0 1
01 0 00 01
10 0
11 1
1 0 1 1
10 11
0 1
1 0
Dalla definizione…
0 0
1 1
x=0 se x=1
x=1 se x=0
x + 1 1 x1x
x + 0 x x00
x + x x xxx
x1 x
x 0 x 1
01 0 11 1
OK!
Fondamenti di Informatica I a.a. 2008-09 28
Altre proprietà
010 x1x2x3
x1 x2 XOR
0 0 0
0 1 1
1 0 1
1 1 0
A 1 1 A 1 1 A B L
B B
0 0 1
0 1 0
A=0 B=0 A=0 B=1 1 0 0
1 1 1
A B
L A B L
0 0 0 0
1 1 A 1 1
A B B L = ABAB
0 0 0
1 1 1
Cambia lo A B C
stato di un 0 0 0
interruttore L = 1
qualsiasi
0 0 0
1 1 1
A B C
0 1 0
Fondamenti di Informatica I a.a. 2008-09 35
Analisi delle combinazioni
Si considera cosa accade a partire dalla configurazione di partenza,
cambiando lo stato di un interruttore per volta
L = 1 L = 0
A B C A B C
0 0 1 0 1 1
L = 0 L = 1
L = 1 L = 0
A B C A B C
A B C A B C
0 0 0 0 1 0 1 1 1
1 0 1
L = 1 L = 0
A B C A B C
1 0 0 1 1 0
A B C L
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
B C B C
A B C A B C
A B C A B C
B C B C
1 0 0 1 0 1
Fondamenti di Informatica I a.a. 2008-09 38
Esercizi
Esercizio 1
Siano a2, a1, b2, b1 i bit che rappresentano due numeri interi
positivi (Aa2a1 e Bb2b1). Sia r una variabile booleana che
vale 1 se e solo A è maggiore di B (AB). Ad esempio,
quando A11 e B10, allora a21, a11, b21, b10 e r1. Si
scriva la forma canonica che definisce r come funzione di a 2,
a1, b2, b1.
Esercizio 2
I signori A, B, C e D fanno parte di un consiglio di
amministrazione. Sapendo che hanno a disposizione le
seguenti quote di possesso azionario A40%, B25%,
C20%, D15%, formalizzare tramite tabella di verità (con
successiva estrazione della forma canonica) la funzione
booleana che decide quando il consiglio di amministrazione
è in grado di approvare una mozione. 39
Fondamenti di Informatica I a.a. 2008-09
Esercizi (continua)
Esercizio 3
Il direttore di una squadra di calcio vuol comprare 4
giocatori dal costo di 2, 5, 6 e 8 milioni di euro, ma ha a
disposizione solo 8 milioni. Siano a2, a5, a6, a8 variabili
booleane che valgono 1 se e solo se si acquistano,
rispettivamente, i giocatori da 2, 5, 6, 8 milioni. Sia r una
variabile che è vera se e solo se l’insieme di giocatori che si
decide di comprare costa meno della cifra disponibile. Ad
esempio, se a21, a51, a60, a80, allora r1. Si scriva la
forma canonica che definisce r come funzione delle variabili
a2, a5, a6, a8.
Ad esempio:
= 7322
Rotolo di fune
Bastoncino
Dito
Fondamenti di Informatica I a.a. 2008-09 Girino o rana 48
I numeri nell’antico Egitto 2
=131.200
Esempi di operazioni
Addizione:
Addizione si effettua sommando i simboli uguali e, qualora
si superi il valore 10, sostituendo i dieci simboli con il
simbolo opportuno (quello subito “superiore” nella
gerarchia)
Moltiplicazione:
Moltiplicazione utilizza un sistema che sottintende la base
due
si scompone il moltiplicatore in potenze di 2, poi si raddoppia
il moltiplicando tante volte quante necessario, e infine si
esegue la somma
Esempio:
Esempio 713
13
=91
Ad esempio:
= 67.766.776
I V X L C D M
1 5 10 50 100 500 1000
Posizione: 3 2 1 0
Fondamenti di Informatica I a.a. 2008-09 62
Sistemi in base B
N’ = c1B1+c2B2+...+cnBn
Esempio:
Esempio base 2 00
01
2 cifre: da 0 a 221 = 3 10 22 = 4 valori
11
24 = 16
28 = 256
216 = 65536
(43)10 = (101011)2
Esempio:
Esempio convertire in binario (0,21875)10 e (0,45)10
0,21875 2 = 0 ,4375 0,45 2 = 0,9
0,4375 2 = 0,875 0,90 2 = 1,8
0,875 2 = 1,75 0,80 2 = 1,6
0,75 2 = 1,5 0,60 2 = 1,2
0,5 2 = 1,0 0,20 2 = 0,4 etc.
Esempio:
Esempio convertire in decimale (101011)2
bit più significativo 1x2= 2 + 0
2x2= 4 + 1
5x2= 10 + 0
10 x 2 = 20 + 1
21 x 2 = 42 + 1 = 43
(101011)2 = (43)10
Fondamenti di Informatica I a.a. 2008-09 70
Sistema esadecimale
Esempio:
Esempio 32 bit corrispondono a 8 cifre esadecimali
1101 1001 0001 1011 0100 0011 0111 1111
D 9 1 B 4 3 7 F
(D91B437F)16
Esempio:
Esempio 16 bit corrispondono a 4 cifre esadecimali
0000 0000 1111 1111
0 0 F F
(00FF)16
0 c 8 f
0000 1100 1000 1111
Osservazione:
Osservazione più piccola è la base, minore è il valore del numero
rappresentato dalla stessa sequenza di cifre
B = (7 )/2 =
(79)/2 = 1 Non può essere
una base
Fondamenti di Informatica I a.a. 2008-09 77
La rappresentazione dei dati
e l’aritmetica degli elaboratori
Esempio:
Esempio 12 viene rappresentato in un byte come…
00001100
Modulo e segno
Complemento a 2
Complemento a 1
2n(N)2 = 10……0(N)2
{
n
100000000 28
01010111 011111111 281
complemento a 1 01010111 N
10101000
1 10101000 281N
10101001
10101001 281N1
Fondamenti di Informatica I a.a. 2008-09 82
Interi in complemento a 2
I numeri positivi sono rappresentati (come) in modulo e segno
I numeri negativi sono rappresentati in complemento a 2 la cifra
più significativa ha sempre valore 1
Lo zero è rappresentato come numero positivo (con una sequenza
di n zeri)
Il campo dei numeri rappresentabili varia da 2n1 a 2n11
Esempio: numeri a 4 cifre
0000 0 1000 8
0001 1 1001 7 Nota: 0111 7
0010 2 1010 6 1000 8
0011 3 1011 5
0100 4 1100 4
0101 5 1101 3
0110 6 1110 2
0111 7 1111 1
Fondamenti di Informatica I a.a. 2008-09 83
Interi a 16 bit
Numeri interi rappresentati su 16 bit in complemento a 2:
Il numero intero positivo più grande è 2151=(32767)10
0111 1111 1111 1111
0x 7 F F F
0 + 0 0
0 + 1 1
1 + 0 1
1 + 1 0 con riporto di 1
Esempio
1 11 1 riporti
01011011+ 91+
01011010 90
10110101 181
{
complemento a 2 di N2: rappresentazione di (N2)
Si calcola il complemento a 2 di N2
Si somma N1 con il complemento a 2 di N2
Si trascura il bit più significativo del risultato
Esempio: (010001)2(000101)2 = (17)10(5)10
010001
111011
1001100 (12)10
Fondamenti di Informatica I a.a. 2008-09 87
Rappresentazioni in complemento
In complemento a 2…
Zero ha una sola rappresentazione
La somma bit a bit funziona sempre
Fondamenti di Informatica I a.a. 2008-09 88
Overflow
0 0 0
0 1 0
1 0 0
1 1 1
Esempio
1100111 x 101
1100111
0000000
1100111
1000000011
110^1^1^
0 101
101 1010
54 510 + 4
111
1 01
1 00
Esercizio 1
Assumendo che un elaboratore rappresenti i numeri interi con
segno su quattro bit in complemento a 2, si calcolino entrambi i
membri della seguente identità:
(AC)B = (AB)C,
con A=7,
A=7 B=5,
B=5 C=7.
C=7 Si ottiene lo stesso risultato dal calcolo dei
due membri? Discutere le motivazioni della risposta.
Esercizio 2
a) Si determini, se esiste, la base b di un sistema di numerazione
tale che
(842)b = (1202)10
b) Si determini, se esiste, la base b 16 di un sistema di
numerazione tale che
(725)b (626)b = (224)10 93
Fondamenti di Informatica I a.a. 2008-09
Numeri in virgola mobile
0 11111111 11111111111111111111111
2255127 1.111111111111111111111111
0 00000000 00000000000000000000001
2126 0.00000000000000000000001
0 0.5 1 2 4
Fondamenti di Informatica I a.a. 2008-09 95
L’aritmetica floatingpoint: addizione
0 1 0 1 1 0 0 1 1.125
A 01000001
3 00110011
$ 00100100
32 20 SPACE 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p
33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q
34 22 ” 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r
35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s
36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t
37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u
38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v
39 27 ’ 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w
40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x
41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y
42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z
43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {
44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |
45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }
46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~
47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL
Nota:
Nota il valore numerico di una cifra può essere calcolato come differenza del
suo codice ASCII rispetto al codice ASCII della cifra 0 (es. ‘5’‘0’ 5348 5)