Bit, Byte e Sistemi di Numerazione PDF
Document Details
Università degli Studi di Palermo
2023
Arianna Pipitone
Tags
Summary
Questi appunti forniscono un'introduzione ai sistemi di numerazione, inclusi decimale, binario ed esadecimale. Vengono illustrati i concetti fondamentali e le conversioni tra questi sistemi. L'autore, Arianna Pipitone, presenta inoltre esempi e illustrazioni.
Full Transcript
Dipartimento di Scienze Umanistiche Bit, Byte e Sistemi di Numerazione CORSO DI INFORMATICA a.a. 2023/2024 Prof. Arianna Pipitone Generalità Un Sistema di Numerazione è un insieme di pochi simboli (cifre) che ne costituiscono la base, e...
Dipartimento di Scienze Umanistiche Bit, Byte e Sistemi di Numerazione CORSO DI INFORMATICA a.a. 2023/2024 Prof. Arianna Pipitone Generalità Un Sistema di Numerazione è un insieme di pochi simboli (cifre) che ne costituiscono la base, e regole che consentono di rappresentare infiniti valori numerici ▪ Una sequenza di tali cifre è un valore numerico La base del sistema di numerazione è il numero di cifre a disposizione ▪ 10 per il sistema decimale (da 0 a 9) ▪ 2 per il sistema binario (0 e 1) Le regole sono convenzioni per associare alle sequenze di cifre i valori numerici: ▪ codici posizionali → il valore dipende dalla posizione occupata da ogni singola cifra nel numero Dissezione di un numero in base 10 Con il codice Parte intera Parte frazionaria posizionale possiamo individuare le parti Centesimi Centinaia Millesimi Migliaia fondamentali di un Decine Decimi Unità numero e farne la … dissezione Ogni cifra ha una … 1 2 3 … posizione e un peso. Posizione 3 2 1 0 -1 Peso 103 102 101 100 10-1 La posizione viene numerata da 0 a partire dalla cifra più a destra nella parte intera, da -1 a partire dalla cifra più a sinistra nella parte frazionaria. Il peso della cifra invece è dato dalla BASE del sistema di numerazione elevato alla posizione della stessa cifra. Base dei sistemi di numerazione La base dei sistemi di numerazione è il numero di cifre a disposizione ▪ sistema di numerazione decimale è a BASE 10 ▪ sistema di numerazione binaria è a BASE 2 ▪ sistema di numerazione esadecimale è a BASE 16 Sistemi di numerazione Riepilogando, in un sistema di numerazione le componenti sono: ▪ Cifre (che formano la base del Sistema di numerazione) Sistema di numerazione decimale utilizza dieci simboli: 0 (zero) 1 (uno) 2 (due) 3 (tre) 4 (quattro) 5 (cinque) 6 (sei) 7 (sette) 8 (otto) 9 (nove) Sistema di numerazione binario utilizza 2 cifre 0 (zero) 1 (uno) ▪ regole Sistema di numerazione posizionale: Il valore di una cifra non dipende solo dalla cifra ma anche dalla posizione che occupa nella sequenza che rappresenta il numero Sistema di numerazione binario Sistema di numerazione binario ▪ Sistema di numerazione posizionale in base 2 ▪ Utilizza soltanto due cifre (0 ed 1) ▪ Le due cifre binarie, 0 e 1, sono chiamate bit, da binary digit Ricordiamo che all’interno di un elaboratore le informazioni sono rappresentate usando il sistema di numerazione binario che permette di rappresentare lo stato di assenza/presenza segnale im un circuito bistabile Dissezione di un numero decimale 1 2 3 Peso 100 10 1 Posizione 2 1 0 Potenza 102 101 100 Rappresentazione polinomiale di un numero decimale 12310 =1 x 100 + 2 x 10 + 3 = 1 x 102 + 2 x 101 + 3 x 100 1 x102 + 2 x101 + 3 x100 Peso 100 10 1 Posizione 2 1 0 Potenza 102 101 100 Le configurazioni possibili in un sistema di numerazione In un sistema di numerazione a base n, il numero possibile dei valori rappresentabili è pari alla basedel sistema elevata al numero di elementi disponibili ▪ se ho 1 bit, posso rappresentare al più 2 valori, perché in base 2 elevato al numero di elementi nella sequenza (cioè 1), avrei: 21 = 2 ➔ solo 2 valori rappresentabili, cioè 0 e 1 ▪ se ho 2 bit, posso rappresentare al più: base 2 elevato al numero di elementi nella sequenza (cioè 2), quindi: 22 = 4 ➔ 4 valori rappresentabili, cioè 00, 01, 10, 11 Quantità di informazione: le configurazioni possibili con 1 bit Decimale Binario 00 0000 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 1 BIT → 09 1001 10 1010 2 (21) CONFIGURAZIONI 11 1011 12 1100 13 1101 14 1110 15 1111 Quantità di imformazione: le configurazioni possibili con 2 bit Decimale Binario 00 0000 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 2 BIT → 09 1001 10 1010 4 (22) CONFIGURAZIONI 11 1011 12 1100 13 1101 14 1110 15 1111 Quantità di imformazione: le configurazioni possibili con 3 bit Decimale Binario 00 0000 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 3 BIT → 09 1001 10 1010 8 (23) CONFIGURAZIONI 11 1011 12 1100 13 1101 14 1110 15 1111 Quantità di imformazione: le configurazioni possibili con 4 bit Decimale Binario 00 0000 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 4 BIT → 09 1001 10 1010 16 (24) CONFIGURAZIONI 11 1011 12 1100 13 1101 14 1110 15 1111 Quantità di informazione: le configurazioni possibili con n bit Quindi con n bit possono essere rappresentati 2n valori distinti, da 0 a 2n - 1 Bit, byte e multipli Un byte (B) è costituito da 8 bit ▪ 1 byte può rappresentare 28 = 256 valori distinti ▪ Il massimo numero rappresentabile con 1 byte è 28 – 1 = 256 – 1 = 255 Multipli del bit o del byte sono indicati con i prefissi ▪ K – kilo, 210 = 1.024 ▪ M – mega, 220 = 1.048.576 ▪ G – giga, 230 = 1.073.741.824 ▪ T – tera, 240 = 1.099.511.627.776 Conversioni di base Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione Peso 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 1 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 1 20= 1 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 1 20= 1 1x8+ 8 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 1 20= 1 1x8+ 0x4+ 8 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 2= 1 1 0 1x8+ 0x4+ 1x2+ 10 10112 = ? Conversione da binario a decimale (metodo polinomiale) 1 0 1 1 Posizione 3 2 1 0 Peso 2 =8 3 2 =4 2 2= 2 2= 1 1 0 1x8+ 0x4+ 1x2+ 1x1= 11 10112 = 1110 Riassumendo Per ogni cifra binaria: ▪ si segna la posizione ▪ si calcola il peso (potenza in base 2 – che è la base del sistema di numerazione binario – con esponente pari alla posizione ▪ si moltiplica il peso per la cifra binaria corrispondente ▪ si sommano tutti i pesi moltiplicati per la cifra binaria (quindi considerare solo le cifre 1 perché le cifre 0 annullano, con il prodotto, il contributo del rispettivo peso) Da decimale a binario: divisioni successive Metodo automatico Si divide il numero sempre per 2 fino a quando il quoziente fa 0 Si prendono tutti i resti in ordine inverso dall’ultimo al primo Da decimale a binario: divisioni successive quoziente resto 57 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 /2 0 7 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 /2 0 7 /2 1 3 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 /2 0 7 /2 1 3 /2 1 1 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 /2 0 7 /2 1 3 /2 1 1 /2 1 FINE 0 Da decimale a binario: divisioni successive quoziente resto 57 /2 1 28 /2 0 14 /2 0 7 /2 1 3 /2 1 1 /2 1 0 5710=1110012 Sistema esadecimale Una comoda alternativa al sistema binario Il sistema di numerazione esadecimale rappresenta i numeri in base 16 Il sistema esadecimale è molto usato per la visualizzazione compatta di dati binari Le cifre sono: ▪ 0, 1, 2, …, 9, a, b, c, d, e, f Esadecimale e binario REGOLA FONDAMENTALE: ad ogni cifra esadecimale corrisponde un gruppo di 4 bit Perché? Perché ogni volta che in un numero esadecimale si cambia di cifra, in un numero binario si passa da un gruppo di quattro cifre al successivo Esadecimale e binario 00 0000 0000 01 0000 0001 02 0000 0010 … … 0F 0000 1111 Esadecimale e binario 00 0000 0000 01 0000 0001 02 0000 0010 … … 0F 0000 1111 10 0001 0000 Esadecimale e binario 00 0000 0000 01 0000 0001 02 0000 0010 … … 0F 0000 1111 10 0001 0000 11 0001 0001 Esadecimale e binario 00 0000 0000 01 0000 0001 02 0000 0010 … … 0F 0000 1111 10 0001 0000 11 0001 0001 … … FF 1111 1111 Esadecimale e binario 00 0000 0000 01 0000 0001 02 0000 0010 … … 0F 0000 1111 10 0001 0000 11 0001 0001 … … FF 1111 1111 100 1 0000 0000 Conversione da esadecimale a binario La conversione si realizza cifra per cifra. Ovvero, ogni cifra esadecimale si converte nel corrispondente quartetto binario con il tradizionale metodo delle divisioni successive per 2. RIEMPIRE IL QUARTETTO CON ZERI DAVANTI SE IL NUMERO DI BIT E’ INFERIORE A 4 (ad esempio il numero 3 nell’esempio sotto, che equivale a 11, viene fatto corrispondere al quartetto 0011 – aggiungendo 2 zeri davanti) FA9316 = 1111 1010 1001 00112 Conversione da esadecimale a binario FA9316 = ?2 B78D16 = ?2 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = ?2 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 Conversione da esadecimale a binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 9F3216 = ? Esadecimale e binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 9F3216 = 1001 Esadecimale e binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 9F3216 = 1001 1111 Esadecimale e binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 9F3216 = 1001 1111 0011 Esadecimale e binario FA9316 = 1111 1010 1001 00112 B78D16 = 1011 0111 1000 11012 9F3216 = 1001 1111 0011 00102 Conversione da binario a esadecimale La conversione da binario a decimale prevede la scomposizione del numero binario in gruppi di 4 (partendo da destra), e poi si converte ogni gruppo con il tradizionale metodo polinomiale 11011110000101112 = ? 16 Conversione da binario a esadecimale 1101 | 1110 | 0001 | 01112 = ? 16 Conversione da binario a esadecimale 1101 | 1110 | 0001 | 01112 = ? 16 D Conversione da binario a esadecimale 1101 | 1110 | 0001 | 01112 = ? 16 D E Conversione da binario a esadecimale 1101 | 1110 | 0001 | 01112 = ? 16 D E 1 Conversione da binario a esadecimale 1101 | 1110 | 0001 | 01112 = ? 16 D E 1 7 Conversione da binario a esadecimale 11011110000101112 = DE17 16 Conversione da binario a esadecimale 110010101112 = ? 16 Conversione da binario a esadecimale Scomponendo da sinistra si sbaglia!!! 1100 | 1010 | 1112 = ? 16 Che fare?? E’ giusto? Conversione da binario a esadecimale 110010101112 = ? 16 Conversione da binario a esadecimale 0110 | 0101 | 01112 = ? 16 Lo 0 davanti non cambia il valore del numero Conversione da binario a esadecimale 0110 | 0101 | 01112 = ? 16 6 5 7