Codifica dei numeri e dei caratteri
Rappresentazione numerica
Esempi di rappresentazione: decimale, binario, ottale, esadecimale
| Decimale | Binario | Ottale | Esadecimale |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
Codifica dei numeri e dei caratteri 1
| Decimale | Binario | Ottale | Esadecimale |
|---|---|---|---|
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
Il numero 10 è fatto da simbolo 1 e simbolo 0, ma il simbolo 1 del numero 10 sta a indicare 1 x 10, mentre 0 sta a indicare 0 x 1. Nel sistema decimale sono 10 i simboli di base, nel binario sono 2, nell'ottale 8 e nell'esadecimale sono 16, ma si parte da 0: quindi nel sistema ottale nel momento in cui arrivo a 7, scatta la seconda cifra (ossia ricomincia da zero, ma a sinistra ci mette l'1: questo che nel sistema ottale appare come 10, non è 10 ma va letto come 0), mentre in quello esadecimale si usano le lettere (quando le cifre crescono mantiene una cifra, è molto compatto, mentre nel numero di cifre nel sistema binario è grande).
Stiamo parlando della codifica dei numeri, diversa da quella dei caratteri: il numero lo intendo come qualcosa che serve per computare; la codifica dei caratteri si assomiglia a quella nei numeri ma non serve per fare i conti.
Problema 1
Come si scrive il numero decimale (cioè in base 10) 25 in base 2 (cioè nella base binaria)?
25 : 2 = 12 + 1
12 : 2 = 6 + 0
6 : 2 = 3 + 0
3 : 2 = 1 + 1
1 : 2 = 0 + 1
Se il risultato della divisione intera fa 0 ci si ferma. Leggo dal basso verso l'alto il resto e ottengo: 110012
Codifica dei numeri e dei caratteri 2
Divido il numero iniziale (in questo caso 25) diviso 2: scrivo il risultante dell'operazione intera, non approssimando, ma tagliando quello che sono i decimali; attuo operazione inversa, ossia la moltiplicazione (nel primo caso 12x2 ed ottengo 24: per arrivare a 25 me ne manca 1, quindi scrivo il resto di 1).
Problema 2
Inverso: dato numero binario (cioè in base 2) 11001 in base 10 (cioè nella base decimale)?
1 1 0 0 1
4 3 2 1 0
24 23 22 21 20
16 8 4 2 1
16 + 8 + 0 + 0 + 1 = 25
11001(base 2) = 25 (base 10)
Scrivo in modo distanziato le cifre del numero binario (1-1-0-0-1) e scrivo partendo da destra verso sinistra, le potenze di due 20 (partendo da 0) e nella riga successiva le scrivo in forma estesa. Moltiplico poi la forma estesa della potenza di 2 per le cifre iniziali (1-1-0-0-1): sommo poi i vari prodotti trovati.
Problema 3
Come si scrive il numero decimale (cioè in base 10) 63 in base 16 (cioè nella base esadecimale)?
63 : 16 = 3 + 15
3 : 16 = 0 + 3
Leggo il resto dal basso verso l'alto: 3 15 → 3F (il 15 negli esadecimali si scrive con lettera F → 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F)
Problema 4
Inverso: come si scrive il numero esadecimale (cioè in base 16) 3F in base 10 (cioè decimale)?
3 F
3 15
1 0
161 160
16 1
48 + 15 = 63
Scrivo in modo distanziato le cifre del numero esadecimale (3-F) e scrivo partendo da destra verso sinistra, le potenze di sedici 160 (partendo da 0) e nella riga successiva le scrivo in forma estesa. Moltiplico poi la forma estesa della potenza di 16 per le cifre iniziali (3-F): sommo poi i vari prodotti trovati.
Utilizzo della notazione esadecimale
A cosa serve la notazione esadecimale? Il computer non può gestire una notazione esadecimale, ma è stata inventata dagli informatici per...
-
Codifica dell'Informazione
-
Codifica dei numeri: Appunti di Informatica
-
Lezione 7 Codifica e crittografia
-
Codifica numerica del colore