La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza 5 viene interpretato come: decina + 5 unità In generale la sequenza c n c n- c n-2... c c 0 (ogni c i è una cifra compresa tra 0 e 9 ) viene interpretata come: c 0 x 0 0 + (c 0 unità) c x 0 + (c decine) c 2 x 0 2 + (c 2 centinaia)... c n- x 0 n- + c n x 0 n 7
Un ripasso di aritmetica: la notazione posizionale La numerazione decimale utilizza una notazione posizionale basata sul numero 0 (base). La sequenza 234 rappresenta il numero 4 x 0 0 + 3 x 0 + 2 x 0 2 La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione (con base diversa da 0) Nel sistema di numerazione binario i numeri vengono codificati utilizzando le due cifre 0 e Nel sistema di numerazione ottale i numeri vengono codificati utilizzando le otto cifre 0,, 7 Nel sistema di numerazione esadecimale i numeri vengono codificati utilizzando le sedici cifre 0,, 8, 9, A, B, C, D, E, F La cifra A corrisponde a 0, la cifra B corrisponde a, la cifra C corrisponde a 2, la cifra D corrisponde a 3, la cifra E corrisponde a 4, la cifra F corrisponde a 5, 8
Un ripasso di aritmetica: La notazione posizionale In analogia con il caso decimale la sequenza c n c n- c n-2... c c 0 (ogni c i è la cifra 0 o la cifra ) rappresenterà, in binario, il numero c 0 x 2 0 + c x 2 +... c n- x 2 n- +c n x 2 n La sequenza 0 denota il numero x 2 0 + x 2 + 0 x 2 2 + x 2 3 = (in base 0) In analogia con il caso decimale la sequenza c n c n- c n-2... c c 0 rappresenterà, in esadecimale, il numero c 0 x 6 0 + c x 6 +... c n- x 6 n- +c n x 6 n La sequenza 0 denota il numero x 6 0 + x 6 + 0 x 6 2 + x 6 3 = 43 (in base 0) Per evitare ambiguità si usa la notazione 0 2 = 0 Per evitare ambiguità si usa la notazione 0 6 = 43 0 9
decimale - limitazioni Consideriamo la base dieci: con tre cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (000) richiede una quarta cifra di cui non disponiamo In questo caso si dice che si ha un problema di overflow, ossia si eccede il numero di cifre destinato alla rappresentazione, e si genera un errore perché il numero non può essere gestito Poiché il numero 999 può essere scritto come 0 3 - (ossia 000- ), possiamo enunciare la seguente regola: con N cifre decimali si possono rappresentare i numeri da 0 a 0 N - 20
binaria - limitazioni Consideriamo la base due: con tre cifre binarie si possono rappresentare i numeri compresi tra 0 e 2 3 - (ossia 8-), possiamo enunciare la seguente regola: Esempio con N=3: con N cifre binarie si possono rappresentare i numeri da numero decimale 0 a 2 N - 0 000 00 2 00 3 0 4 00 5 0 6 0 7 rappresentazione binaria 2
esadecimale - limitazioni Consideriamo la base sedici: con tre cifre esadecimali si possono rappresentare i numeri compresi tra 0 e 6 3 - (ossia 4096-). con N cifre esadecimali si possono rappresentare i numeri da 0 a 6 N - Esempio con N=2: numero decimale 0 00 0 0 0A 0B 5 0F 6 0 7 30 E 3 F 32 20 rappresentazione esadecimale 22
binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: 0+0=0 +0= 0+= +=0 con riporto di ovvero 0 + in decimale è uguale a 2 ma siamo nella notazione binaria che ha solo due cifre, 0 e 23
binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 0 + 0 = 0 0 24
binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti + 0 = 0 25
binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti + = 0 26
binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti + = 0 0 27