Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing Saverio De e-mail: saveriodevito@porticieneait Tel: +39 8 7723364
BIG IDEA: Bits can represent anything!! Caratteri 26 lettere 5 bits (2 5 = 32) Minuscole/maiuscole + punteggiatura 7 bits (in 8) ( ASCII ) Codice standard per rappresentare tutti i linguaggi del mondo 8,6,32 bits ( Unicode ) wwwunicodeorg Valori logici False, True Colori 3 valori di intensità per i tre colori fondamentali RGB (3 x 8 bit = 24 bit) Locazioni / indirizzi comandi Ricorda: N bits al più 2 N oggetti Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Come rappresentiamo i numeri? Base di numerazione: dieci Cifre: 2 3 4 5 6 7 8 9 Rappresentazione posizionale possibile per la presenza dello zero Esempio: 32 = (3x 3 ) + (2x 2 ) + (x ) + (x ) Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
In generale Rappresentazione in base B B- cifre 2 B- Rappresentazione dei numeri: d 3 d 3 d 2 d d è un numero a 32 cifre valore = d 3 x B 3 + d 3 x B 3 + + d 2 x B 2 + d x B + d x B Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Altre basi B=2 : cifre: x2 6 + x2 5 + x2 4 + x2 3 + x2 2 + x2 + x = 64 + 6 + 8 + 2 = 9 7 cifre binarie 2 cifre decimali B=6 : cifre: 2 3 4 5 6 7 8 9 A B C D E F 524 5x6 2 + 2x6 + 4x = 36 3 cifre esadecimali 4 cifre decimali Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Siccome 6=2 4, il passaggio tra le rappresentazioni in base 2 e in base 6 è molto semplice: 3F9 6 base 6 2 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A B 2 C 3 D 4 E 5 F Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Quale base usare? Decimale naturale per gli esseri umani Esadecimale utile (agli esseri umani) per esaminare lunghe stringhe di bit Binaria rappresentazione ottimale per il calcolatore perché non usare una codifica binaria della rappresentazione in base? Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Conversione base base 2 (interi) Come ottenere la rappresentazione in base 2 di un numero intero T rappresentato in base? Supponiamo: T=c n- x2 n- + c n-2 x2 n-2 + + c 2 x2 2 + c x2 + c x2 c i {,} Non conosciamo: le cifre c i il numero di cifre n Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Conversione base base 2 (interi) T=c n- x2 n- + c n-2 x2 n-2 + + c 2 x2 2 + c x2 + c x2 = (c n- x2 n-2 + c n-2 x2 n-3 + + c 2 x2 + c ) x2 + c = Q x2 + c Q = T div 2 c = T mod 2 Q = (c n- x2 n-3 + c n-2 x2 n-4 + + c 2 )x2 + c = Q x2 + c Q = Q div 2 c = Q mod 2 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Conversione base base 2 (interi) void convint(int T,int c[],int &n) { int Q; n=;q=t; do { } c[n]=q%2; Q=Q/2; n++; } while (Q!=); La conversione genera le cifre a partire da quella meno significativa Esempio: 75? 2 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Aritmetica in base 2 Le operazioni aritmetiche si svolgono in maniera analoga a quanto si fa in base + * tavola pitagorica in base 2 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De Aritmetica in base 2 = + = *
Aritmetica dei registri I registri di memoria sono supporti di lunghezza finita Ciò impone delle restrizioni all insieme di numeri rappresentabili e, di conseguenza, dei vincoli all aritmetica Registro a N bit 2 N valori diversi rappresentabili Es: 8 bit 256 valori possibile rappresentare l intervallo [,255] Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De Aritmetica dei registri = + 6 4 2 = 7 3 + 9 Non ci sono problemi nel caso in cui l operazione produce un risultato rappresentabile nel registro
Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De Aritmetica dei registri = + 8 4 7 3 = 7 3 + 7 3 2 Se l operazione fornisce un risultato R non rappresentabile, si produce un riporto uscente dal registro, mentre all interno rimane una parte della rappresentazione del risultato (R mod 2 N )
Aritmetica dei registri L aritmetica dei registri a N bit è caratterizzata da una congruenza mod 2 N Quindi: 3+4=2! 3 3 2 +4 7 6 5 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Aritmetica dei registri Il riporto uscente dal registro, generato da un addizione tra numeri interi, si definisce carry Il prestito uscente dal registro, generato da una sottrazione tra numeri interi, si definisce borrow 4 + 2 + + 26 6 4 carry 4-2 - - 26 2 6 borrow Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Rappresentazione dei numeri relativi Rappresentazione in segno e modulo Rappresentazione in complementi alla base Rappresentazione per eccessi Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Rappresentazione dei numeri negativi Soluzione più immediata: segno + modulo +/- modulo Possibile convenzione: Problemi dove mettere il segno? doppia rappresentazione per lo zero (+, -) operazioni alquanto complicate + - Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Rappresentazione dei numeri negativi Soluzione alternativa Che cosa succede in un registro a N bit quando si sottrae un numero da? 3 3 2 - = 23-9 7 6 5 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Complementi alla base -2-2 -5-6 5 Caratteristiche: 2 N- non-negativi 2 N- negativi uno zero quanti positivi? confronto? rappr dello zero Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Complementi alla base L intervallo di numeri rappresentati è [-2 N- +2 N- -] La rappresentazione di un numero x nell intervallo è data da R(x)=(x+2 N ) mod 2 N Il bit più significativo è indicativo del segno ( bit di segno ) + +2 +3 +4 +5-6 -5-4 -3-2 - Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Calcolo rapido del complemento alla base Per ottenere rapidamente la rappresentazione in complemento alla base di un numero negativo su N bit si estrae la rappresentazione del valore assoluto del numero su N bit si complementano le cifre ad una ad una si aggiunge Es: complemento alla base su 8 bit di -33 33 = += Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Operazioni in complemento alla base Le addizioni si realizzano direttamente sulle rappresentazioni in quanto R(x+y)=R(x)+R(y) Anche le sottrazioni si valutano tramite addizioni, ponendo x-y come x+(-y); di conseguenza R(x-y)=R(x)+R(-y) Nel caso in cui l operazione produce un numero al di fuori dell intervallo di rappresentazione si ha un overflow Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Operazioni in complemento alla base +4 +4 +2 + -2 + +6 +2-4 +5-6 -2 + +4 + -3 + -6-7 +7 overflow Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Rappresentazione per eccessi (polarizzata) 4 5-6 -5-4 - -2 Caratteristiche: 2 N- non-negativi 2 N- negativi uno zero quanti positivi? confronto? rappr dello zero Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Eccessi L intervallo di numeri rappresentati è [-2 N- +2 N- -] La rappresentazione di un numero x nell intervallo è data da R(x)=x+2 N- Il bit più significativo è indicativo del segno ( bit di segno ) -6-5 -4-3 -2 - + +2 +3 +4 +5 Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Operazioni in eccessi Le addizioni si realizzano direttamente sulle rappresentazioni in quanto R(x+y)=R(x)+R(y) Anche le sottrazioni si valutano tramite addizioni, ponendo x-y come x+(-y); di conseguenza R(x-y)=R(x)+R(-y) Achtung! Siccome R(x)+R(y)=x+y+2 N- +2 N-, il risultato necessita di una correzione Nel caso in cui l operazione produce un numero al di fuori dell intervallo di rappresentazione si ha un overflow Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Confronto tra complementi alla base ed eccessi Entrambe permettono di realizzare una sottrazione tramite addizione (macchine aritmetiche più semplici) Le operazioni in eccessi richiedono un aggiustamento finale La rappresentazione in complementi rende più difficile il confronto Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
256 224 92 Rappresentazione 6 28 96 Complementi alla base (8 bit) Eccessi (8 bit) 64 32-28 -96-64 -32 32 64 96 28 Valore rappresentato Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Numeri signed e unsigned Un registro di N bit può rappresentare: Numeri assoluti nel range [, 2 N -] numeri unsigned Numeri relativi nel range [-2 N-, 2 N- -] numeri signed C Dalla stringa di bit nel registro non si può risalire al tipo di numero memorizzato Quali sono le conseguenze? Operazioni aritmetiche indipendenti dalla rappresentazione nessuna conseguenza Confronto dipendente dalla rappresentazione due tipi di confonto X = Y = X > Y? unsigned: SI (7>4) signed: NO (-5<+4) Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De
Riepilogo Problema della codifica Codifica binaria, ottale, esadecimale Codifica di interi con e senza segno Rappresentazione in complementi Corso di Informatica Applicata - Lezione I - 25-7 F Tortorella, Saverio De