8^ordine | 7^ ordine | 6^ ordine | 5^ ordine | 4^ ordine | 3^ ordine | 2^ ordine | 1 ordine |
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
8 cifre binarie formano un BYTE .
Esempio: il numero 10100011 (in base due) rappresenta un byte.
ad ogni byte corrisponde un numero in base dieci.
quindi posso dire che con un byte ( cioè con otto bit) posso rappresentare i numeri da 0 a 255 , cioè 256 numeri diversi
----------------------------
Esercizio: Come trasformare il numero 10100011 (un byte) dalla base due alla base dieci?
E' molto semplice:sono otto cifre binarie cioè un byte, basta moltiplicare ciascuna cifra per il valore corrispondente alle potenze del due e determinato dalla posizione .
Io consiglio di scrivere sopra ad ogni cifra il proprio valore, in questo modo,di moltiplicare per la cifra binaria e di sommare i valori ottenuti:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | risultato in base dieci |
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
128+0+32+0+0+0+2+1= 163 |
altro esempio: trasforma 00100101 dalla base due alla base dieci:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | risultato in base dieci |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
0+0+32+0+0+4+0+1= 37 |
IMPORTANTE: il massimo numero rappresentabile con un byte è 11111111 che corrisponde a 255 in base dieci.
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | risultato in base dieci |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
128+64+32+16+8+4+2+1=255 |
Quindi possiamo dire che con un byte si possono rappresentare :
tutti i numeri da 0 a 255 , cioè 256 numeri diversi fra loro.
SISTEMA DI NUMERAZIONE ESADECIMALE
Utilizza sedici simboli: 0,1,2,3,...,9, A, B, C, D ,E ,F
BASE
SEDICI ESADECIMALE |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
BASE DIECI | zero | uno | due | tre | quattro | cinque | sei | sette | otto | nove | dieci | undici | dodici | tredici | quattordici | quindici |
numero
corrispondente base due |
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
la tabella mostra la corrispondenza tra base sedici e base dieci e consente anche di convertire rapidamente quattro bit in una cifra in base sedici e viceversa
5^ ordine | 4^ ordine | 3^ ordine | 2^ ordine | 1 ordine |
164 | 163 | 162 | 161 | 160 |
65536 | 4096 | 256 | 16 | 1 |
Esercizio 1: Come trasformare dalla il numero A316 dalla base sedici alla base dieci?
E' molto semplice: basta moltiplicare ciascuna cifra per il suo valore decimale ,che io consiglio di scrivere sopra a ciascuna , in questo modo:
16 | 1 | risultato in base dieci |
A | 3 |
A*16+3*1= 160+3= 163 |
Esercizio2 : trasforma il numero 2516 ( leggi: due-cinque) dalla base sedici alla base dieci.
16 | 1 | |
2 | 5 |
2*16+5*1= 32+5= 37 10 |
IL più grande numero che posso rappresentare con due cifre esadecimali è FF che corrisponde a
16 | 1 | risultato in
base dieci |
F | F | F*16+F*1= 240+15= 25510 |
Quindi anche usando due cifre esadecimali posso rappresentare i numeri da 0 a 255, cioè 256 numeri diversi.
OSSERVIAMO che 8 bit, cioè un byte, si può trasformare velocemente in una coppia di cifre esadecimali facendo gruppi di quattro
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | |
A | 3 | 160+3=163 10 |
I caratteri alfanumerici sono codificati utilizzando otto bit
Poiché con 8 bit ( oppure con due cifre esadecimali) posso rappresentare 256 simboli diversi, è stato creato un codice che fa corrispondere ad ogni carattere della tastiera (lettera alfabeto , segno operazione ) una sequenza di otto bit (cioè un byte).
carattere | BASE DIECI | byte corrispondente BASE DUE | BASE SEDICI |
{ | 123 | 01111011 | 7B |
~ |
126 | 01111100 | 7E |
i simboli del codice ASCII sono richiamabili con: ALT+numero ( ALT+123 )