Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAntonina Carella Modificato 8 anni fa
1
La numerazione ottale
2
Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema utilizza dunque otto cifre {0, 1, 2, 3, 4, 5, 6, 7} Si ricorda infatti che il numero di cifre utilizzate è proprio pari alla base del sistema di numerazione
3
Un numero in base 8 non potrà dunque contenere cifre superiori a 7 Ad esempio è impossibile avere ◦ 389 (8) ◦ 478 (8) Mentre è possibile avere ◦ 547 (8)
4
Per convertire un numero in base 8 in un numero in base 10 si utilizza sempre il metodo dei pesi: ogni cifra ha un peso che si ottiene da una potenza che ha per base 8 e per esponente la posizione della cifra nel numero La posizione si calcola contando dall’ultima cifra di destra che ha posizione 0 e procedendo verso sinistra
5
Consideriamo, ad esempio, il numero ◦ 4537 (8) Il 4 si trova in posizione 3, il 5 si trova in posizione 2, il 3 si trova in posizione 1, il 7 si trova in posizione 0 Il 4 va moltiplicato per un peso pari a 8 3 Il 5 va moltiplicato per un peso pari a 8 2
6
Il 3 va moltiplicato per un peso pari a 8 1 Il 7 va moltiplicato per un peso pari a 8 0 Abbiamo dunque che 4537 (8) = = 4 X 8 3 + 5 X 8 2 + 3 X 8 1 + 7 X 8 0 = = 4 X 512 + 5 X 64 + 3 X 8 + 7 = = 2048 + 320 + 24 + 7 = = 2399 (10)
7
Passaggio da base 10 a base 8 Il metodo delle divisioni successive utilizzato per passare da base 10 a base 2 conserva la sua validità, soltanto che stavolta, essendo la base 8 e non 2, bisogna dividere per 8 anziché per 2 Supponiamo di voler convertire 1248 (10) in base 8
8
Se dividiamo 1248 per 8 otteniamo quoziente 156 e resto 0 Dividendo 156 per 8 otteniamo quoziente pari a 19 con resto 4 Dividendo 19 per 8 otteniamo 2 con resto 3 Dividendo 2 per 8 otteniamo quoziente 0 e resto 2
9
1248 0 156 4 19 3 2 2 0
10
Quindi 1248 (10) = 2340 (8)
11
Da ottale a binario e viceversa Vediamo ora come si passa dal binario all’ottale Si considera il numero binario e. partendo da destra si divide in gruppi di 3 cifre binarie. Se dopo l'operazione avanzano una o due cifre si aggiungono tanti zeri quanti bastano a coprire un gruppo di tre, Ogni gruppo va poi convertito nel corrispondente numero decimale.
12
Esempio 1101001101 2 = = 001 | 101 | 001 | 101= = 1515 8
13
Cerchiamo di spiegare perché funziona Sviluppiamo anzitutto il numero binario 1101001101 2 = 1 X 2 9 + 1 X 2 8 + 0 X 2 7 + 1 X 2 6 + 0 X 2 5 + 0 X 2 4 + 1 X 2 3 + + 1 X 2 2 + 0 X 2 1 + 1 X 2 0 = vogliamo ora trasformare le potenze per mettere in evidenza potenze di 8 Ad esempio 2 9 = (2 3 ) 3 = 8 3 2 8 = 2 2 X 2 6 = 2 2 X (2 3 ) 2 = 2 2 X 8 2 2 7 = 2 1 X 2 6 = 2 1 X (2 3 ) 2 = 2 1 X 8 2
14
2 6 = 2 0 X 2 6 = 2 0 X (2 3 ) 2 = 1 X 8 2 2 5 = 2 2 X 2 3 = 2 2 X 8 1 2 4 = 2 1 X 2 3 = 2 1 X 8 1 2 3 = 2 0 X 2 3 = 2 0 X 8 1 2 2 = 2 2 X 2 0 = 2 2 X 1 = 2 2 X 8 0 2 1 = 2 1 X 2 0 = 2 1 X 1 = 2 1 X 8 0 2 0 = 2 0 X 2 0 = 2 0 X 1 = 2 0 X 8 0
15
quindi 1101001101 2 = 1 X 2 9 + 1 X 2 8 + 0 X 2 7 + 1 X 2 6 + 0 X 2 5 + 0 X 2 4 + 1 X 2 3 + + 1 X 2 2 + 0 X 2 1 + 1 X 2 0 = = 1 X 8 3 + 1 X 2 2 X 8 2 + 0 X 2 1 X 8 2 + 1 X 2 0 X 8 2 + 0 X 2 2 X 8 1 + 0 X 2 1 X 8 1 + 1 X 2 0 X 8 1 + + 1 X 2 2 X 8 0 + 0 X 2 1 X 8 0 + 1 X 2 0 X 8 0
16
Ora mettiamo le potenze di 8 in evidenza 1101001101 2 = 1 X 8 3 + 1 X 2 2 X 8 2 + 0 X 2 1 X 8 2 + 1 X 2 0 X 8 2 + 0 X 2 2 X 8 1 + 0 X 2 1 X 8 1 + 1 X 2 0 X 8 1 + + 1 X 2 2 + 0 X 2 1 + 1 X 2 0 = 1 X 8 3 + + (1 X 2 2 + 0 X 2 1 + 1 X 2 0 ) X 8 2 + + (0 X 2 2 + 0 X 2 1 + 1 X 2 0 ) X 8 1 + + (1 X 2 2 + 0 X 2 1 + 1 X 2 0 ) X 8 0 = = 1 X 8 3 + 5 X 8 2 + 1 X 8 1 + 5 X 8 0
17
Ma questo è proprio il risultato che avevamo ottenuto direttamente Dunque se partendo da destra organizziamo i bit in gruppi di tre possiamo mettere in evidenza delle potenze di 2 3 cioè di 8 mentre quello che rimane fra parentesi dopo aver messo in evidenza queste potenze di 8 è proprio il valore che avrebbe il gruppo di tre bit se fosse isolato e non all’interno del numero originale
18
Ora sappiamo a che servono i numeri in base otto Rendono molto più sintetica la rappresentazione di stringhe di bit molto lunghe 11100010101010101011110111110101 2 = 34252536765 8
19
Conversione da ottale a binario Per quello che abbiamo appena mostrato appare chiaro che la conversione da ottale a binario deve avvenire in maniera diametralmente opposta: ogni cifra del numero in base otto va convertita in un gruppo di tre bit
20
esempio 252143774 8 = = 010 101 010 001 100 011 111 111 100 2 342567547 8 = = 011 100 010 101 110 111 101 100 111 2
21
Aritmetica in base otto Si ribadisce ancora una volta che il cambiamento di base non modifica le leggi della matematica per cui, ad esempio, l’algoritmo per l’esecuzione della somma è identico a quello visto in base 10 ed in base 2
22
Vediamo ad esempio la somma Supponiamo di dover eseguire la seguente somma fra numeri ottali 4256 8 + 3734 8
23
Se sommiamo le due cifre meno significative otteniamo 6 + 4 = 10 Questo numero in ottale si scrive 10 10 = 12 8
24
infatti 12 8 = 1 X 8 + 2 = 10 allora si deve scrivere la seconda cifra cioè 2 e si riporta 1
25
Dunque 1 4256 8 + 3734 8 = 2
26
Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo 5 + 3 + 1 = 9 Questo numero in ottale si scrive 9 10 = 11 8
27
infatti 11 8 = 1 X 8 + 1 = 9 allora si deve scrivere la seconda cifra cioè 1 e si riporta 1
28
Dunque 1 4256 8 + 3734 8 = 12
29
Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo 2 + 7 + 1 = 10 Questo numero in ottale si scrive 10 10 = 12 8
30
infatti 12 8 = 1 X 8 + 2 = 10 allora si deve scrivere la seconda cifra cioè 2 e si riporta 1
31
Dunque 1 4256 8 + 3734 8 = 212
32
Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo 4 + 3 + 1 = 8 Questo numero in ottale si scrive 8 10 = 10 8
33
infatti 10 8 = 1 X 8 + 0 = 8 allora si deve scrivere la seconda cifra cioè 0 e si riporta 1
34
Dunque 4256 8 + 3734 8 = 10212 8 8
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.