Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
16/09/12
1
Prof. Emanuele Papo5o
Il sistema di numerazione posizionale decimale
� Il sistema di numerazione che u>lizziamo abitualmente è il sistema di numerazione decimale.
� Questo sistema u>lizza la numerazione posizionale dove ogni cifra del numero assume un valore in funzione della “posizione”:
� La posizione di ogni singola cifra che compone un numero si calcola partendo SEMPRE DALL’ULTIMA CIFRA A DESTRA (posizione 0), E PROSEGUENDO VERSO SINISTRA Ad esempio nel numero 734 le posizioni di ogni singola cifra sono: Nel numero 1456795094 quali sono le posizioni?
7 3 4
2 1 0
numero
Posizione di ogni singola cifra
2
16/09/12
2
Nel numero 1456795094 quali sono le posizioni?
1456795094
1 4 5 6 7 9 5 0 9 4
9 8 7 6 5 4 3 2 1 0
numero
posizione
3
Sistema di numerazione posizionale
� Definizione: Ogni numero si esprime come la somma dei prodotti di ciascuna cifra per la base elevata all’esponente che rappresenta la posizione della cifra:
22110 = 2 x 102 + 2 x 101 + 1 x 100 200 + 20 + 1
Ma cos’è la base???
4
16/09/12
3
Sistema di numerazione posizionale � La base è quel numerino che si pone al pedice di un numero, ad esempio :
22110 (si legge 221 in base 10)
La base specifica il sistema numerico a cui si riferisce il numero. Nell’esempio (22110) siamo nel sistema numerico decimale, ovvero
quello che utilizziamo sempre in qualsiasi circostanza che implica l’utilizzo di un numero.
Normalmente non scriviamo mai la base 10 nei numeri che utilizziamo
nel sistema di numerazione decimale, ma adesso vedremo che sarà importante specificarla perché utilizzeremo sistemi di numerazione differenti.
5
Sistema di numerazione posizionale � Il sistema di notazione posizionale può essere usato con qualunque base creando così differen> sistemi di numerazione.
� In informa>ca si u>lizza prevalentemente la numerazione: � binaria, � o5ale, � Esadecimale
� Ma par>amo dal sistema di numerazione decimale per capire meglio i sistemi di numerazione
6
16/09/12
4
Sistema di numerazione decimale � Definizione: Il sistema di numerazione decimale u>lizza una notazione posizionale basata su 10 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0,1,2,3,4,5,6,7,8,9) e sulle potenze di 10. � Il numero 234 in base 10 si rappresenta esplicitamente come ? � Come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione :
23410 = 4 x 100+ 3 x 101 + 2 x 102
4 + 30 + 200 7
Sistema di numerazione binario � Definizione: Il sistema di numerazione binario u>lizza una notazione posizionale
basata su 2 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente il numero 0 oppure 1) e sulle potenze di 2.
� Per comporre un numero in base 2 è quindi necessaria la combinazione SOLO ED
ESCLUSIVAMENTE delle cifre 0 e 1
� Ad es. il numero 1001 in base 2 si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 2 alla base 10 :
10012 = 1 x 20 + 0 x 21 + 0 x 22 + 1 x 23 1 + 0 + 0 + 8 = 910
8
16/09/12
5
Sistema di numerazione o5ale � Definizione :Il sistema di numerazione o5ale u>lizza una notazione posizionale
basata su 8 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0,1,2,3,4,5,6,7) e sulle potenze di 8.
� Per comporre un numero in base 8 è quindi necessaria la combinazione SOLO delle cifre 0,1,2,3,4,5,6,7
� Ad es. il numero 534 in base 8 si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 8 alla base 10 :
5348 = 4 x 80 + 3 x 81 + 5 x 82 4 + 24 + 320 = 34810
9
Sistema di numerazione esadecimale � La numerazione esadecimale u>lizza una notazione posizionale basata su 16
cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F (15)) e sulle potenze di 16
� Per comporre un numero in base 16 è quindi necessaria la combinazione SOLO di cifre da 0 a 9 e dei cara5eri A, B, C, D, E, F
� Ad es. il numero B7FC16 (in base 16) si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 16 alla base 10
C(12) x 160 + F(15) x 161 + 7 x 162 + B(11) x 163
12 + 240 + 1792 + 45056 = 4710010
10
16/09/12
6
Conversione da base n a base 10
� Definizione: Per converSre un numero da una qualunque base alla base 10 è sufficiente rappresentarlo esplicitamente in forma polinomiale, come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione :
11012 = 1 x 20 + 0 x 21 + 1 x 22 + 1 x 23 = 1310 7108 = 0 x 80 + 1 x 81 + 7 x 82 = 45610
A5116 = 1 x 160 + 5 x 161 + (10) x 162 = 264110 11
Conversione da base 10 a base n � Per conver>re un numero ad una base n qualsiasi occorre trovare tua i res> delle successive divisioni del numero per la base n.
� Come esempio si vuole trovare il valore binario del numero 210
– Basterà dividere 210 per la base 2 vediamo come…
12
16/09/12
7
Conversione da base 10 a base 2
L e g g e n d o l a sequenza dei res> dal basso verso l'alto, si oaene il numero: 21010 = 110100102
210 ÷ 2 = 105 Resto 0 105 ÷ 2 = 52 Resto 1 52 ÷ 2 = 26 Resto 0 26 ÷ 2 = 13 Resto 0 13 ÷ 2 = 6 Resto 1 6 ÷ 2 = 3 Resto 0 3 ÷ 2 = 1 Resto 1 1 ÷ 2 = 0 Resto 1
13
Verifica di corre5ezza � Per una verifica di corre5ezza basta riconver>re il risultato alla base 10 rappresentandolo esplicitamente in forma polinomiale :
110100102 = 0 x 20 + 1 x 21 + 0 x 22 +
0 x 23 + 1 x 24 + 0 x 25 + 1 x 26 + 1 x 27 = 21010
14
16/09/12
8
ESERCIZI � Conver>re: � 1100010012 in base 10 � 10015728 in base 10 � A21F416 in base 10 � 2110 in base 2 � 13210 in base 2 � 20610 in base 2
15
16/09/12
9
Richiami sul sistema binario
… … 128 64 32 16 8 4 2 1 … … 27 26 25 24 23 22 21 20
1 1 0 1
11012 = 1 x 20 + 0 x 21 + 1 x 22 + 1 x 23 = 1310
Richiami sul sistema binario
18
… … 128 64 32 16 8 4 2 1 … … 27 26 25 24 23 22 21 20
0 0 1 1 0 0 1 0
Se considero il numero 001100102 a quanto corrisponde in base 10 ??
2+16+32=5010 001100102 = 5010
16/09/12
10
Richiami sul sistema binario
19
… … 128 64 32 16 8 4 2 1 … … 27 26 25 24 23 22 21 20
1 0 1 1 1
Alla luce di quanto abbiamo de5o…. Il 2310 a che numero binario corrisponde ???
1+2+4+16=2310 101112 = 2310
Addizione � L’ addizione tra numeri binari è analoga a quella che si esegue nel sistema decimale, le possibili combinazioni che possono assumere la somma di numeri binari sono: 0+0 = 0; 0+1 = 1+0 = 1; 1+1 = 10 (scrivo 0 e riporto 1) 1+1+1 =11 (scrivo 1 e riporto 1)
Esempio: Da> A = 101112, B = 1012 o5eniamo
20
RIPORTO 1 1 1 decimale
A 1 0 1 1 1 23 +
B 1 0 1 5 =
A+B 1 1 1 0 0 28
16/09/12
11
Addizione
21
RIPORTO
1 1 1 decimale
A 0 1 0 1 5 +
B 1 1 1 1 15 =
A+B 1 0 1 0 0 20
Mol>plicazione � La molSplicazione tra numeri binari viene eseguita allo stesso modo della mol>plicazione tra numeri decimali ricordando che:
0·∙0=0; 0·∙1= 1·∙0 entrambi =0 ; 1·∙1=1 1 1 0 1 x
1 0 1 = 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1
22
16/09/12
12
Mol>plicazione 1 0 0 1 1 x 1 1 0 0 0 0 0 0
1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0
23
So5razione � Regole base: � 0-‐0=0; 1-‐0=1; 1-‐1=0; 0-‐1=1 con un procedimento che di seguito spieghiamo: bisogna andare verso sinistra e trovare il primo uno che diventerà 0. A loro volta gli zero che precedono (verso destra) questo 1 diventeranno 1 ad eccezione di quello che riceve il pres>to che diventerà 2. A questo punto si procede con la so5razione. Nel caso in cui si incontri di nuovo 0-‐1, si procederà in modo analogo.
24
1 0 0 0 0 1 1 0 -‐ 1 0 1 1 0 1 1 1 =
16/09/12
13
So5razione
25
0 2 0 2 0 2
0 2 pres%% 1 0 1 0 1 1 1 0 -‐ 0 1 0 0 0 1 1 1 = 0 1 1 0 0 1 1 1
Divisione
26
16/09/12
14
Divisione
27
Conversioni con gli esadecimali � La numerazione esadecimale u>lizza una notazione posizionale basata su 16 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F (15)) e sulle potenze di 16
� Conversione dalla base decimale a quella esadecimale � Si eseguono le divisioni successive per la base 16 fino a trovare quoziente zero:
28
16/09/12
15
Conversione dalla base decimale a quella esadecimale
� Trasformiamo il numero 1563210 in base 16
1563210 =3C1016
29
15632 ÷ 16 = 977 Resto 0 977÷ 16 = 61 Resto 1 61÷ 16 = 3 Resto 12 3 ÷ 16 = 0 Resto 3
Conversione da base 2 a base 16 Binario esadecimale
0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F
30
Per eseguire la conversione basta considerare la tabella a destra che esprime i rispeavi numeri esadecimali in binario quindi: 1) Raggruppare il numero in binario a
gruppi di 4 cifre; 2) Conver>re ogni gruppo nel la
corrispondente cifra esadecimale
Esempio 10110110012 = ?16 1) 10 1101 1001 2) 2 D 9
10110110012 = 2D916
16/09/12
16
Conversione da base 16 a base 2 Binario esadecimale
0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F
31
Per eseguire la conversione basta considerare la tabella a destra che esprime i rispeavi numeri esadecimali in binario quindi: 1) Consideriamo separatamente ogni
cifra del numero esadecimale; 2) Conver>re ogni cifra esadecimale
nella corrispondente sequenza binaria
Esempio E4D16 = ?2 1) E 4 D 2) 1110 0100 1101
E4D16=1110010011012
…E CON IL SISTEMA OTTALE? � Per eseguire la conversione da base 2
a base 8 basta considerare la tabella a destra che esprime i rispeavi numeri o5ali in binario quindi:
1) Raggruppare il numero in binario a gruppi di 3 cifre;
2) Conver>re ogni gruppo nel la corrispondente cifra o5ale
10010011101012=? 8 1. 1 001 001 110 101 2. 1 1 1 6 5
10010011101012=111658 32
Binario Ottale 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7
16/09/12
17
…E CON IL SISTEMA OTTALE? � Per eseguire la conversione da base 8
a base 2 basta considerare la tabella a destra che esprime i rispeavi numeri o5ali in binario quindi:
1) Consideriamo separatamente ogni cifra del numero o5ale;
2) Conver>re ogni cifra o5ale nella corrispondente sequenza binaria
25418=? 2 1. 2 5 4 1 2. 010 101 100 001
25418=0101011000012 33
Binario Ottale 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7