Come gia' visto i calcolatori
utilizzano per la rappresenzazione dei numeri, una successione di
0 (zeri) e di 1 (uno)
Cosa vuol dire?
0 (zero) e ……. (1)
Sistemi di numerazione
Nel nostro modo quotidiamo di
rappresentare i numeri, noi utilizziamo combinazioni di 10 cifre (0,1,2,3,....,9).
Questa e' quella che si chiama la rappresentazione decimale
Cio' che fa' assumere significato diverso alle cifre nei
vari numeri e' la loro posizione nel numero stesso
1245 = 1000 + 200 + 40 + 5
Formalizziamo
Il nostro e’ un sistema di numerazione a base 10
(1245) 10
Il numero 1245 puo' essere scritto come
1x10 3 + 2x10 2 + 4x10 1 + 5x10 0
ma allora……
(1245) 8
Il numero 1245 puo' essere scritto come
1x8 3 + 2x8 2 + 4x8 1 + 5x8 0
……e quindi
(1245) 3
Il numero 1245 puo' essere scritto come:
1x3 3 + 2x3 2 + 4x3 1 + 5x3 0
SBAGLIATO
La base indica il numero di cifre disponibili per la numerazione.
In questo caso 0,1,2
Notazione binaria
Il numero (1245) 2 puo' essere scritto come:
1x2 10 + 0x2 9 + 0x2 8 + 1x2 7 +…
(10011011101) 2
Per rappresentare 1245 (1024+128+64+16+8+4+1) in notazione binaria sono
necessari 11 bit
Estremi binari
Valore minimo di una sequenza di n cifre binarie: 000 … 0 (n volte) = 0
10Valore massimo di una sequenza di n
Cifre binarie: 1111…111 (n volte) =
2
n-1+ 2
n-2+ … + 2
2+ 2
1+ 2
0+ 1 = (2
n–1)
10Esempio: 111 = 2
2+ 2 + 1 = 7 = (2
3-1)
10Proprieta’ dei numeri binari
1001001= 73
100100 = 36 = 73/2+1
Eliminare il bit più a destra corrisponde a dividere per 2 il valore, ed il bit eliminato è il resto
Distanza tra numeri binari aventi lo stesso numero di cifre, il numero di
bit per cui i due numeri stessi
differiscono 1 1 0 1
1 0 1 1
3 2 1 0 peso
bit diversi Quando la distanza e’ massima tutti i 0 in 1 e viceversa i numeri si
dicono conplementari (complemento a 1)
Cambiamenti di base
come passare dalla nostra
notazione decimale a quella binaria
325/2=162 resto 1 (LSB) 162/2=81 resto 0
81/2=40 resto 1 40/2=20 resto 0 20/2=10 resto 0 10/2=5 resto 0 5/2=2 resto 1 2/2=1 resto 0
1/2=0 resto 1 (MSB)
101000101 (325) 10 in (325) 2
325 = 1*2 8 + 1*2 6 + 1*2 2 +1*2 0
Numeri < 1
0,4375*2=0.875 parte intera 0 (MSB) 0.875*2=1,75 parte intera 1
0.75*2=1.5 parte intera 1
0.5*2=1.0 parte intera 1 (LSB)
0.0111
(0.4375)
10in (0.4375)
20.4375 = 0/2 1 + 1/2 2 + 1/2 3 + 1/2 4
Operazioni
Addizione binaria 0 + 0 = 0
1 + 0 = 1 0 + 1 = 1
1 + 1 = 0 con riporto di 1
Sottrazione binaria 0 - 0 = 0
1 - 0 = 1
0 - 1 = 1 con prestito di 1 dalla cifra precedente
1 - 1 = 0
Moltiplicazione binaria 0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Addizione
1001+
1101=
---
10110
9+
22=
---
13
Moltiplicazione
1001*
101=
---
1101 0000 1101
---
1000001
13*
5=
---
65
Divisione
10101:111 = 011 000
---
1010 111
---
00111 111
---
0000
21/
7=
---
3
Sottrazione
1100 - 0110=
---
0110
12- 6=
---
6
Complemento a 2
10
3- 386 614
386
10
2- 47 53
47
10
1- 2 8
2
complemento numero
N c = 10 n – N (10) N c = 2 n – N (2)
Calcolare il complemento a 2 di 101?
23 = 8 = 1000
1000 - 0101 = ---
0011 (complemento a 2 di 101)
TRUCCO: SI COMPLEMENTA A 1 E SI AGGIUNGE 1
Sottrazione con il complemento a 2
D = 84-37 = 47 =
84+(100-37)-100 = 84+63-100 =
147-100 = 47
Sottrazione con il complemento a 2
D = 1110-0101 = (14-5=9) 10 =
1110+(10000-00101)-10000 = 1110+1011-10000 =
11001-10000 = 1001
Sottrazione con il complemento a 2
D = 100-110 = (4-6=-2) 100+010 = 110
(COMPLETANDO A 2)
001+1 = 010 (2 10 )
La codifica dell’informazione
Per comunicare non bastano i numeri ma servono anche
lettere e simboli
Serve uno strumento per codificare l’informazione
Questi strumenti si chiamano codici
Il codice binario
La costruzione di un codice e' strettamente legata alla quantita' di informazioni (simboli) da codificare
Se abbiamo solo 2 simboli da rappresentare basta 1 bit (0 un simbolo, 1 l'altro simbolo) se abbiamo 4 simboli da rappresentare servono almeno 2 bit (00,01,10,11) e cosi' via
In generale detto n il numero di bit N=2n sono i simboli differenti che riusciamo a codificare.
Viceversa se dobbiamo rappresentare N simboli ci servono n=log2N.
Quindi se dobbiamo codificare le prime dieci cifre (cioe' 10 simboli) abbiamo bisogno di non meno di 4 bit
Il codice ASCII
Il codice ASCII (American Standard Code for Information Interchange) e' un codice binario a 7 bit quindi in grado di rappresentare 128 sinboli differenti. Spesso viene aggiunto
un bit che rende il codice ridondante e quindi capace di revelare gli errori
Hardware di un computer
3 tipi di componenti fondamentali:
0 0 1
1 1 1
0 1 0
0 0 0
R A B
1 0 1
1 1 1
1 1 0
0 0 0
R A B
0 1
1 0
R A
vero falso vero
falso vero falso
vero vero vero
vero falso falso
A ⇒ B A B
1 0 1
0 1 0
1 1 1
1 0 0
A ⇒ B A B
B R A
A ⇒ B equivale a (NOT A) OR B
0 0 1 1 NOT A
1 0 1
0 1 0
1 1 1
1 0 0
(NOT A) OR B A B
0 0 1
0 1 0
1 1 1
1 0 0
A ≡ B A B
B A
R
A ≡ B equivale a
(A ⇒ B) AND (B ⇒ A)
1 1 0 1 B ⇒ A
1 0 1 1 A ⇒ B
0 0 1
0 1 0
1 1 1
1 0 0
(A ⇒ B)AND(B ⇒ A) A B
1 0 1
1 1 0
0 1 1
0 0 0
A ≠ B A B
B A
R
A XOR B equivale a NOT (A ≡ B)
1 0 0 1 A ≡ B
1 0 1
1 1 0
0 1 1
0 0 0
NOT(A ≡ B) A B
A R
B
X
A = ( B ⇒ A) ⇒ [(NOT A) ⇒ (NOT B)]
1 1 1 1 A
0 1 0 1 NOT B
0 0 1 1 NOT A
1 1 0 1 B ⇒ A
0 0 1
1 1 0
1 1 1
1 0 0
(NOT A) ⇒ (NOT B) A B