Cosa vuol dire? 0 (zero) e ……. (1)

Transcript

Cosa vuol dire? 0 (zero) e ……. (1)
0 (zero) e ……. (1)
Come gia' visto i calcolatori
utilizzano per la rappresenzazione
dei numeri, una successione di
0 (zeri) e di 1 (uno)
Cosa vuol dire?
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
1x103 + 2x102 + 4x101 + 5x100
ma allora……
(1245)8
Il numero 1245 puo' essere scritto
come
1x83 + 2x82 + 4x81 + 5x80
……e quindi
(1245)3
Il numero 1245 puo' essere scritto
come:
SBAGLIATO
1x33 + 2x32 + 4x31 + 5x30
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:
10
1x2
+
9
0x2
+
8
0x2
+
7
1x2 +…
(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) = 010
Valore massimo di una sequenza di n
Cifre binarie: 1111…111 (n volte) =
2n-1 + 2 n-2 + … + 22 + 21 + 20 + 1 = (2n –1)10
Esempio: 111 = 22 + 2 + 1 = 7 = (23 -1)10
Proprieta’ dei numeri binari
1001001= 73
Eliminare il bit più a destra
corrisponde a dividere per 2 il
valore, ed il bit eliminato è il resto
100100 = 36 = 73/2+1
Distanza tra numeri binari aventi lo
stesso numero di cifre, il numero di
bit per cui i due numeri stessi
differiscono
3 2 1 0 peso
1 0 1 1
1 1 0 1
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)10 in (325)2
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 = 1*28 + 1*26 + 1*22 +1*20
Numeri < 1
(0.4375)10 in (0.4375)2
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 = 0/21 + 1/22 + 1/23 + 1/24
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
--------------------------------------------------
126=
6
------------------------------
Complemento a 2
numero complemento
2
8
101- 2
47
53
102- 47
386
614
103- 386
Calcolare il complemento a 2 di 101?
23 = 8 = 1000
Nc = 10n – N(10)
Nc = 2n – N(2)
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 (210)
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:
A
R
0
1
1
0
A B
R
0 0
0
0 1
1
1 0
1
1 1
1
A B
R
0 0
0
0 1
0
1 0
0
1 1
1
A B A ⇒ B
A
B
A ⇒ B
0 0
1
falso falso
vero
0 1
1
falso vero
vero
1 0
0
vero
falso
falso
1 1
1
vero
vero
vero
A ⇒ B equivale a (NOT A) OR B
A B NOT A
(NOT A) OR B
0 0
1
1
A
0 1
1
1
B
1 0
0
0
1 1
0
1
R
A B
A ≡ B
0 0
1
0 1
0
1 0
0
1 1
1
A ≡ B equivale a
(A ⇒ B) AND (B ⇒ A)
A B A ⇒ B B ⇒ A (A ⇒ B)AND(B ⇒ A)
0 0
1
1
1
0 1
1
0
0
1 0
0
1
0
1 1
1
1
1
A
B
R
A XOR B equivale a
NOT (A ≡ B)
A B
A ≠ B
0 0
0
0 1
1
A B
A ≡ B
NOT(A ≡ B)
1 0
1
0 0
1
0
1 1
0
0 1
0
1
1 0
0
1
1 1
1
0
A
B
A
R
B
X R
Siccome (un rettangolo è un quadrato se ha altezza
uguale alla base), allora [se un rettangolo (non è un
quadrato) esso (non ha altezza uguale alla base)].
A = (B ⇒ A) ⇒ [(NOT A) ⇒ (NOT B)]
A B B ⇒ A NOT A
NOT B
(NOT A) ⇒ (NOT B)
A
0 0
1
1
1
1
1
0 1
0
1
0
0
1
1 0
1
0
1
1
1
1 1
1
0
0
1
1
Il risultato è sempre 1, ossia sempre vero.
L’asserzione è una tautologia (o un teorema)