Rappresentazione binaria dell informazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Rappresentazione binaria dell informazione"

Transcript

1 Rappresentazione binaria dell informazione Mauro Bianco Al mondo ci sono 10 categorie di persone: quelle che conoscono la rappresentazione binaria e quelle che non la conoscono Contents 1 Rappresentazione binaria dei numeri naturali: la notazione posizionale 1 2 Numeri Binari 4 3 Conversioni binario-decimale e decimale-binario Conversione decimale binario Conversione binario decimale Numeri esadecimali e ottali 8 5 Rappresentazione binaria dei numeri negativi Bit di segno e magnitudo Complemento a Complemento a Eccesso-N Rappresentazione binaria dei numeri reali Somma e prodotto di numeri in virgola mobile Rappresentazione binaria delle stringhe 16 Nota : Le parti delimitate da *** sono da considerarsi facoltative. 1 Rappresentazione binaria dei numeri naturali: la notazione posizionale Con una sequenza di n bit possiamo individuare 2 n entità diverse, quindi anche i numeri interi da 0 a 2 n 1. In linea di principio l associazione tra numeri e le 1

2 sequenze di bit può essere arbitraria, ma se così fosse le operazioni aritmetiche sarebbero di difficile realizzazione in hardware. Per realizzare la somma, ad esempio, ci sarebbe bisogno di una mappa tra gli operandi e i risultati, ad esempio per calcolare 8+5=13 si devono mappare gli operandi e il risultato a delle sequenze di bit, ad esempio =0010. Quello di cui abbiamo bisogno è un algoritmo, il più possibile indipendente dagli operandi, per calcolare il risultato di una operazione. Per risolvere il problema ci viene incontro la notazione posizionale, inventata in India, trasmessa al mondo arabo e infine giunta in Europa in un lungo processo conclusosi nel XIV-XV secolo. È interessante sapere che il termine algoritmo deriva dal nome di Abu Ja far Muhammad ibn Musa al-khwarizmi (c.a c.a. 850), autore del libro Algoritmi de numero Indorum (la versione araba è andata perduta) sull uso della notazione posizionale per eseguire calcoli tra numeri. Per creare una notazione posizionale si deve scegliere una base b e b cifre c 0,... c b 1 che rappresentano rispettivamente i numeri da 0 a b 1. Un generico numero x sarà poi scritto come sequenza di cifre a n a n 1... a 1 a 0, con a i {c 0,..., c b 1 }, che rappresenta il numero x = a i b i Si dice in questo caso che a n a n 1... a 1 a 0 è la rappresentazione in base b del numero x. Per evitare confusione si indica questo fatto con x = (a n a n 1... a 1 a 0 ) b. Ad esempio il numero è il numero Il fatto che stiamo usando la base 10 in questo esempio può portare a confusione. Facciamo un esempio con base 5. Dovremmo usare quindi le cifre da 0 a 4. La sequenza (341) 5 rappresenta il numero ( ) 10 = ( ) 10 = (96) 10. La base più piccola che si può usare è la base 2 (perché la base 1 non funziona?). In questo caso le cifre che si possono usare sono 0 e 1 ma il principio è esattamente lo stesso. Dimostriamo un piccolo teorema: dati un numero x, una base b e le cifre c 0,... c b 1, esiste una sola sequenza a n a n 1... a 1 a 0 che rappresenta il numero x in base b. Utilizziamo l induzione: se n = 1, allora il teorema vale. Supponiamo sia vero per n = k 1. Dimostriamolo valido anche per n = k. da cui si deriva che k k 1 x = a i b i = a i b i + a k b k, y = x a k b k = k k 1 a i b i = a i b i. Essendo y un numero rappresentabile con k cifre, la sua rappresentazione in base b è unica. Si ha quindi che se, per ipotesi, esistesse ā n a n tale che 2

3 x = y + a k b k = y + ā k b k. Si ravvede subito una contraddizione, in quanto si deduce che deve essere ā n = a n L algoritmo per la somma di due numeri in base b diventa quindi il seguente: sia a n a n 1... a 1 a 0 il primo numero e d n d n 1... d 1 d 0 il secondo. Sia s n s n 1... s 1 s 0 il risultato. Si imposti r 0 = 0. Partendo dalla cifra più a sinistra si calcolino iterativamente r i+1 e s i che soddisfano la seguente equazione: a i + d i + r i = r i+1 b + s i Essendo r 0 uguale a zero, per induzione, si vede che deve essere r i+1 1. Si ha infatti che r i 1 (per l ipotesi induttiva) e a i + d i + r i c b 1 + c b b 1 + b b + (b 1) = (1c b 1 ) b. Le stesse considerazioni fatte per i numeri interi possono essere fatte anche per i numeri razionali. Se si indica con un punto la separazione tra la parte intera e quella frazionaria, il generico numero x può essere scritto come x = m a i b i + a i b i = a n a n 1 a 1 a 0.a 1 a 2 a m+1 a m i=1 L algoritmo di somma, in questo caso, rimane sostanzialmente identico a prima, solo che si richiede che i numeri da sommare vengano allineati al punto decimale e le cifre mancanti dell uno o dell altro vengano impostate a zero: 0 0 a 2 a 1 a 0. a d 5 d 4 d 3 d 1 d 0. d 1 d 2 = s 6 s 5 s 4 s 3 s 1 s 0. s 1 s 2 Analoghi algoritmi esistono per le altre operazioni elementari, che sono solo una generalizzazione delle analoghe operazioni insegnate alle scuole elementari con una base implicitamente pari a Nel seguito, numeri la cui l indicazione della base a pedice è omessa, a meno che non sia chiaro dal contesto, si riferiscono a numeri in base Esercizi: 1. Si calcoli Si provi con altre basi e altri valori. 3. Come si esprime b i in base b per un generico i? 4. Si trovi l algoritmo per il prodotto di due numeri in base b. 5. Si trovi l algoritmo per la differenza di due numeri in base b. 3

4 2 Numeri Binari I numeri binari sono i numeri espressi in notazione posizionale in base 2. Su questi numeri possiamo applicare gli algoritmi di somma e sottrazione, prodotto e divisione in modo del tutto analogo ai numeri in base 10, l unica differenza risiede nella nostra poca dimestichezza con questi numeri. Nel caso dei numeri in base dieci, ad esempio, noi conosciamo a memoria i risultati della somma di due cifre (1+1, 9+4, 7+3, etc.). Conoscendo questa informazione possiamo eseguire la somma di due numeri in base 10. Come visto nel caso generico si devono calcolare r i+1 e s i che soddisfano a i + d i + r i = r i+1 b + s i. Nel caso di numeri binari, si deve ricordare la seguente tabella per la somma di due cifre: a i + d i + r i s i r i+1 Commento = = 1 = = 1 = = 2 10 = 10 2 = = = 2 10 = 10 2 = = 2 10 = 10 2 = = 3 10 = 11 2 = Ad esempio si sommino i numeri binari ( ) 2 e ( ) 2 : Riporto Op Op = Risultato I numeri binari qui illustrati sono detti numeri binari puri, in quanto il valore rappresentato è quello espresso dalla formula n a i2 i. Questo per distinguerli da altre rappresentazioni che, come vedremo, non conservano questa proprietà. Per manipolare i numeri binari, anche a livello elementare, è utile saper fare le somme (e anche le differenze) tra numeri binari. Esercizi: 1. Si sommino e Si calcoli la differenza tra e e si verifichi la correttezza del calcolo. 3 Conversioni binario-decimale e decimale-binario Come si può passare da una notazione posizionale in base b a una in base b? La risposta è contenuta nelle relazioni scritte nella precedente sezione. In questa sezione esplicitiamo le tecniche di conversione per passare dalla notazione decimale a quella binaria e viceversa nel caso di numeri interi. Prima di iniziare è utile fare qualche osservazione di carattere generale. 4

5 Moltiplicare per b un numero intero x espresso in base b, significa spostare le cifre di x di una posizione verso sinistra e inserire uno zero a destra. Si ha infatti che, se x = n a ib i, x b = b a i b i = n+1 a i b i+1 = a i 1 b i + 0 b 0. Ad esempio = e, analogamente, = = In modo del tutto analogo, dividere per b un numero x espresso in base b, significa spostare le cifre di x di una posizione verso destra e spostare la cifra più a destra a destra del punto decimale. Si ha infatti che, se x = n a ib i, x b = 1 b a i b i = a i b i 1 = n 1 i= 1 i=1 n 1 a i+1 b i = a i+1 b i + a 0 b. Si ricordi che a b < 1. Ad esempio = e, analogamente, = Se siamo interessati solo ai numeri interi, la parte frazionaria viene ignorata e viene conservata solo la parte intera (indicata con parte bassa di x e scritta x, ovvero il più grande numero intero minore o uguale a x). x = b 1 b n a i b i = a i b i 1 = n 1 i= 1 n 1 a i+1 b i = a i+1 b i. Ad esempio = e, analogamente, = Un importante corollario di queste osservazioni è che il resto della divisione per b, è uguale all ultima cifra del numero. Si ha infatti che x x b = b n 1 a i b i b a i+1 b i = = n 1 a i b i a i+1 b i+1 = a i b i 3.1 Conversione decimale binario a i b i = a 0 (1) Utilizzando l equazione (1) abbiamo un algoritmo per trovare le cifre di un numero in base b: basta dividere ripetutamente il numero per la base e prendere il resto della divisione. Nel caso in cui la base sia 2, questa operazione risulta particolarmente semplice. Il resto della divisione per 2 di un numero è infatti 0 se il numero è pari e 1 se il numero è dispari, e questa è l ultima cifra del numero in no- i=1 5

6 tazione binaria. Facciamo un esempio: convertiamo il numero in binario: Numero Cifra Commento è dispari 485/2= è pari 242/2=121 1 dispari 121/2=60 0 pari 60/2=30 0 pari 30/2=15 1 dispari 15/2=7 1 dispari 7/2=3 1 dispari 3/2=1 1 dispari 1/2=0 0 pari 0/2=0 0 pari... Ricordando che la cifra che esce dal calcolo del resto della divisione è la cifra più a destra del numero che rimane da convertire, si ha che = (gli zeri a sinistra possono essere ignorati). 3.2 Conversione binario decimale Per convertire numeri binari in base 10 si possono usare due metodi: il primo fa affidamento a una tabella di potenze di due, mentre il secondo è l inverso del metodo visto per convertire i numeri decimali in binario. Il primo metodo si basa sulla definizione: si sommano le varie potenze di due che compongono il numero dato. Vediamolo con un esempio: = = = 485. Si tratta qui di ricordare o consultare una tabella con i valori delle potenze di due e sommare quelle corrispondenti alle cifre 1 del numero dato. Questo metodo funziona molto bene per numeri piccoli, per i quali è facile ricordare le potenze di due e eseguire la somma a mano. Mentre può non essere inusuale per un esperto ricordare la prime 17 potenze di 2 (da 0 a 16), anche il semplice numero 485 richiede un certo sforzo per l esecuzione della somma di un numero di termini pari al numero di cifre 1 nel numero binario. Il secondo metodo si base sull osservazione che, per i < n, (a n a i ) b b = (a n a i+1 ) b + a i (basta applicare le formule viste all inizio di questa sezione), e applicare il ragionamento iterativamente. Più in dettaglio (a n ) b = a n (a n a n 1 ) b = (a n ) b b + a n 1 (a n a n 1 a n 2 ) b = (a n a n 1 ) b b + a n 2 (a n a n 1 a n 2 a n 3 ) b = (a n a n 1 a n 2 ) b b + a n 3.. (2) 6

7 Vediamo un esempio con il solito numero Partendo dal bit più a sinistra Cifra Operazione Numero Commento inizio delle iterazioni moltiplico il numero precedente per due e sommo la cifra attuale 1 3*2+1 7 Si noti il parallelo con la tabella della pagina precedente 1 7* * * * * * Esercizi: 1. Si convertano in decimale i seguenti numeri Si convertano i seguenti numeri decimali in base Si convertino in binario i seguenti numeri decimali: Si convertino in decimale i seguenti numeri binari Di quante cifre binarie sarà costituito il numero 1056? Come si può dirlo senza effettuare la conversione? (Suggerimento: qual è il massimo intero rappresentabile con n cifre binarie?) 7

8 4 Numeri esadecimali e ottali Due modi molti usati per rappresentare i numeri binari in modo sintetico sono le rappresentazioni ottali e esadecimali, ovverro rappresentare i numeri i base, rispettivamente, 8 (2 3 ) e Deriviamo la rappresentazioni in ottale di un numero binario di n cifre dove n è multiplo di tre 1 : n 1 x = a i 2 i = j = 0 2 a 3i+j 2 3i+j = 2 3i j = 0 2 a 3i+j 2 3i+j = n 3 1 n 3 1 n 3 1 = 8 i (a 3i a 3i a 3i ) = (a 3i+2 a 3i+1 a 3i+0 ) 2 8 i n 3 1 Dato un numero binario a n cifre, la notazione ottale si ricava raggruppando a tre a tre le cifre binarie e sostituiendone i valori rappresentati. Ad esempio il numero ( ) 2 deve essere raggruppato nel modo seguente ( ) 2 = (6231) 8 Per quanto riguarda i numeri in base 16 il ragionamento è analogo al precedente. L unica difficoltà è data dal fatto che la base 16 richiede 16 cifre. Nella notazione numerica utilizzata normalmente le cifre sono solo 10, quindi ne servono altre 6. Per convenzione si è deciso di utilizzare le lettere da A a F. Le cifre sono quindi le seguenti: Cifra A B C D E F Valore Esercizi: 1. Si convertino in ottale e in esadecimale i seguenti numeri binari: Si convertino in binario i seguenti numeri ottali: Si convertino in binario i seguenti numeri esadecimali: Se n non è multiplo di tre è sufficiente aggiungere degli zeri a sinistra fino a avere un numero di cifre multiplo di tre 8

9 0F 3A 16 Si convertano in decimale i seguenti numeri ottali e esadecimali 3A0 16 C1A Si convertano in ottale e eadecimale i seguenti numeri decimali Rappresentazione binaria dei numeri negativi La totalità dei calcolatori digitali esistenti possono comprendere solo due simboli: 0 e 1. In più i dati (nel nostro caso i numeri naturali e interi) sono memorizzati in parole di lunghezza fissa, ovvero sequenze di un numero finito e fissato a priori di bit. Numeri tipicamente utilizzati sono 8 (in questo caso di parla di byte), 16 (half-word), 32 (word) e 64 (long-word) bit. Solo byte è un termine universalmente accettato per indicare una parola di 8 bit, mentre le altre indicazioni dipendono dal tipo di calcolatore che si sta considerando. Nel corso saranno utilizzate le diciture sopra indicate, anche se sempre seguite dalla specifica del numero di bit a cui si fa riferimento tranne nel caso del byte. Le considerazioni fatte nella sezione precedente rimangono valide per i numeri negativi se si adottano le convenzioni utilizzate comunemente nell algebra, ovvero di utilizzare il simbolo - per indicare i numeri negativi. Nei calcolatori però questo non è possibile, come abbiamo accennato qui sopra. Alcune soluzioni a questo problema sono date di seguito. Prima di iniziare però è utile precisare alcune notazioni utilizzate. Si consideri una parola di 8 bit (1 byte). Il numero ( ) 2 rappresenta il numero (41) 10. I due 0 a sinistra sono indicati per esplicitare il fatto che la parola è di 8 bit e che quella è la sequenza di bit memorizzata nel calcolatore. I bit vengono numerati da destra a sinistra partendo da zero a indicare l esponente applicato alla base. Il bit più a sinistra è detto Most Significant Bit (bit più significativo, MSB), mentre quello più a destra Least Significant Bit (bit meno significativo, LSB). Nella tabella seguente un semplice esempio: bit indici MSB LSB 5.1 Bit di segno e magnitudo La più intuitiva soluzione al problema della rappresentazione dei numeri negativi è l utilizzo del bit di segno. In questo caso il bit più significativo della parola sarà 9

10 0 per indicare + e 1 per indicare. È importante notare che in questo caso il bit più significativo non è più utilizzato per rappresentare il numero ma ne indica solo il segno. Se la parola utilizzata è di n bit, il massimo numero rappresentabile è n 2 2i = 2 n 1 1. Questo sistema ha due controindicazioni: 1. Esistono due rappresentazioni dello zero. Per una parola a 8 bit si ha ad esempio 0 = = = I circuiti che devono eseguire le operazioni devono essere replicati più volte per gestire i casi di numeri positivi e negativi. 5.2 Complemento a 1 Con questo sistema, il numero x (x può essere esso negativo) viene rappresentato invertendo tutti i bit della parola che lo rappresenta, il che equivale a dire che i bit a zero diventano 1 e quelli a 1 diventano zero. Nel caso del numero ( ), verrà rappresentato dalla sequenza Se x = n a i2 i, l operazione di complemento a 1 corrisponde a sostituire la generica cifra a i con 1 a i. In formule (1 a i )2 i = 2 i a i 2 i = (2 n 1) x Consideriamo parole di tre bit, la tabella successiva mostra i valori numerici assegnati alle parole se viene applicato il metodo del complemento a 1: I numeri positivi sono rappresentati come numeri binari puri I numeri positivi hanno il LSB a I numeri negativi hanno il MSB a Provate a ottenere queste rappresentazioni a partire dai numeri positivi Si noti che esistono anche qui due rappresentazioni dello zero. Se applichiamo l algoritmo della somma per i numeri binari a 1 e -1 nella tabella qui sopra, vediamo che il risultato è la sequenza 111, che rappresenta -0=0. Se sommiamo 1 a 000 otteniamo 001, che è corretto. Proviamo però a sommare 1 a 111 con l algoritmo di somma: otteniamo Avendo solo 3 bit per memorizzare il numero otteniamo un overflow e il risultato ottenuto (se non si prendono adeguati provvedimenti, è 000, che è sbagliato!). Lo stesso problema si ottiene sommando -2 e -1. Si ha infatti che = Le tre cifre meno significative darebbero la sequenza 011, ovvero +3. Come nel caso precedente, abbiamo due rappresentazioni per lo zero e dobbiamo ricorrere a circuiterie complicate per eseguire le operazioni elementari, in grado cioè di eseguire l algoritmo giusto in dipendenza del segno degli operandi. 10

11 5.3 Complemento a 2 Per risolvere il problema si ricorre al complemento a 2, che si ottiene (a) complementando a 1, (b) sommando 1 al risultato e (c) considerando solo gli n bit partendo da destra, dove n è la lunghezza della parola utilizzata. Usando 3 bit si ottiene la seguente tabella: I numeri positivi sono rappresentati come puri numeri binari I numeri positivi hanno il LSB a I numeri negativi hanno il MSB a Provate a ottenete queste rappresentazioni a partire dai numeri positivi *** Se x = n a i2 i, l operazione di complemento a 2 corrisponde alla seguente ( n (1 a i )2 i + 1 ) ( n mod(2 n ) = 2 i ) a i 2 i + 1 mod(2 n ) = (2 n x) mod(2 n ) Dove mod(y) può essere qui visto come l operatore riporto della divisione per y e serve a tenere conto che il risultato utile è quello contenuto nella parola a n bit, escludendo quindi i bit che andrebbero in posizioni più a sinistra delle prime n (overflow). *** Dalla tabella, si noti che il complemento a 2 del complemento a 2 di x è ancora x, come nel caso di complemento a 1. Nel caso di 000 si ottiene che il complemento a due è = Tenendo solo i 3 bit meno significativi si ottiene ancora la sequenza 000. Anche nel caso di 100 si ottiene lo stesso risultato: = Questa volta però la sequenza 100 non può essere interpretata come 0. Si ha infatti che = 101, che rappresenta 3. Si vede in oltre che 1+( 1) se si utilizza l algoritmo di somma sulle sequenze 001 e 111 porta a = Prendendo i bit meno significativi otteniamo ancora la sequenza 000. Si noti che ho usato il termine sequenza per indicare le rappresentazioni date nella tabella, mentre le operazioni sono state eseguite su numeri binari puri positivi. Questa distinzione serve a chiarire il fatto che la rappresentazione interpreta i numeri il cui MSB è uguale a 1 come numeri negativi, mentre l algoritmo usato per le sommare due numeri è sempre quello per i numeri positivi, con l accortezza di ignorare l eventuale riporto sul MSB (overflow). Abbiamo quindi eliminato anche il secondo problema delle rappresentazioni viste precedentemente per i numeri negativi: l algoritmo di somma è lo stesso per qualsiasi coppia di operandi. Questa caratteristica rende il metodo del complemento a 2 il metodo più utilizzato per rappresentare i numeri negativi nei 11

12 calcolatori digitali. Conoscere le caratteristiche di questa rappresentazione può essere necessaria in certe applicazioni in cui le condizioni sui risultati (ad esempio sapere se è avvenuto un overflow durante una operazione) debbano essere testate direttamente. Abbiamo visto infatti che l overflow può avvenire anche se le operazioni hanno un esito del tutto legale (questo è dovuto all operatore mod() che garantisce che il risultato sia contenuto nella parola risultato a prescindere dal valore del riporto nel MSB). In questi casi si deve quindi tenere conto in modo esplicito anche di altre condizioni per sapere se un risultato debba essere considerato valido oppure no. Si ricordi in oltre, che sia per il complemento a 1 che il complemento a 2, i numeri positivi vengono rappresentati come numeri binari puri come mostrato nella sezione 2. Questo vuol dire che se il MSB di un numero è zero, allora il numero rappresentato è il numero binario rappresentato nella sequenza. Vedi esercizi. 5.4 Eccesso-N Un altro modo di rappresentare i numeri negativi, tipicamente utilizzato nel caso in cui sia necessario che il numero di numeri negativi e il numero di positivi siano sostanzialmente diversi, è detto eccesso-n. In questa rappresentazione, il numero binario che rappresenta N sarà associato allo zero, mentre i valori minori di N ai numeri negativi e quelli maggiori a quelli positivi. alla sequenza fatta da tutti zero verrà quindi associato il valore N. Nella seguente tabella si mostra l eccesso-5 e l eccesso-7 nel caso di numeri a 4 bit. Binario Sequenza Eccesso-5 Eccesso Supponiamo di voler calcolare la somma z = x + y, dove i numeri sono rappresentati in eccesso-n. Sia a il numero binario che rappresenta y e b quello che rappresenta z. Ad esempio, se usiamo eccesso-5, x = 3 è rappresentato dal numero a = 2 mentre y = 4 è rappresentato da b = 9. Vediamo quindi che x = a N e y = b N. Anche z dovrà essere rappresentato da un numero 12

13 c, e sarà z = c N. Quindi deve essere soddisfatta la seguente equazione, equivalente a x + y = z: a N + b N = c N. Questa equazione è soddisfatta da c = a + b N. Nel nostro esempio = 6 che rappresenta 1 = ( 3) + 4 in eccesso-5. Vediamo che per trovare la rappresentazione della somma di due numeri si devono sommare le due rappresentazioni e sottrarre il valore dell eccesso. Se N = 2 n 1 1, dove n è il numero di bit della parola usata (nella tabella l esempio è portato per 7 = ), allora il bit più significativo può ancora essere usato come bit di segno. L importanza di questa rappresentazione è data dal fatto che è utilizzata per la rappresentazione dei numeri in virgola mobile (impropriamente chiamati numeri reali ), che vedremo nella prossima sezione. Esercizi: 1. Si dia la rappresentazione in complemento a 1 di -123 con parole di 8 bit. 2. Siano 0110 e 1010 due sequenze di bit che rappresentano i numeri a e b in complemento a 1. Si calcoli la rappresentazione di a+b in complemento a 1 usando solo le rappresentazioni, quindi senza passare per la conversione. 3. Si rappresenti 123 in complemento a 2 con parole di 8 bit. Qual è il valore binario rappresentato interpretato come numero binario puro? 4. Si rappresenti 123 in complemento a 2 con parole di 10 bit. Qual è il valore binario rappresentato interpretato come numero binario puro? 5. Si rappresenti 154 in complemento a 2 con parole di 8 bit. Qual è il valore binario rappresentato interpretato come numero binario puro? 6. Si rappresenti 154 in complemento a 2 con parole di 10 bit. Qual è il valore binario rappresentato interpretato come numero binario puro? 7. Che numero rappresenta la sequenza di 8 bit se il sistema di rappresentazione è complemento a 2? 8. Che rappresentazione ha la sequenza di 8 bit in complemento a se la parola viene allungata a 12 bit? E la sequenza ? 9. Si può rappresentare la sequenza di 12 bit in complemento a con 8 bit? E la il numero in complemento a ? 10. Si rappresenti il numero 123 in eccesso-100 con parole di 8 bit. 11. Analogamente a quanto fatto per la somma si trovi la rappresentazione della differenza di due numeri in eccesso-n. 13

14 6 Rappresentazione binaria dei numeri reali In questa sezione sarà mostrato come i calcolatori digitali memorizzino e elaborino i numeri frazionari in virgola mobile (floating point), impropriamente chiamati numeri reali. Si farà riferimento al sistema di rappresentazione standard denominato IEEE Standard 754, rilasciato nel 1985 e utilizzato in molte di moderni calcolatori. L idea di base è di memorizzare i numeri in notazione scientifica, con mantissa e esponente: x = ±m b e (3) dove m è un numero frazionario ed è detto mantissa, la base b è naturale e fissato a priori, e infine e è intero ed è chiamato esponente. Lo standard IEEE-754 prevede due tipi di numero in virgola mobile: in singola e in doppia precisione, memorizzati rispettivamente in parole di 32 e 64 bit 2. In figura 1 si vede come i due tipi vengano memorizzati. I numeri indicano il numero di bit utilizzati in ogni sezione della rappresentazione Bitdisegno Esponente Mantissa Figure 1: Suddivisione delle parole per la rappresentazione di numeri IEEE-754 in (a) singola e (b) doppia precisione. I numeri sono il numero di bit utilizzati in ogni sezione. Il termine mantissa nel caso di IEEE-754 non è adeguato e si dovrebbe usare significante. Il bit di segno vale 0 se il numero rappresentato (x) è positivo e 1 se negativo. L esponente è memorizzato in eccesso-127 (2 7 1) nel caso di singola precisione ed eccesso-1023 (2 10 1) nel caso di doppia precisione. I casi in cui bit dell esponente siano tutti 0 o tutti 1 sono però dei casi speciali e non sono codificano un esponente numerico. L esponente minimo è dunque -126 e quello massimo Nello standard IEEE-754, il valore della base b in (3) è 2. I numeri vengono normalizzati in modo che la m nell equazione (3) sia in ogni caso maggiore o uguale a 1 e minore di 2, ovvero 1 m = 1 + m i 2 i < 2. i=1 2 Esiste un numero a 80 bit che viene però usato tipicamente all interno delle unità di calcolo per migliorare la precisione 14

15 Nel caso dello standard IEEE-754 l uno a sinistra del punto decimale non viene memorizzato, e si memorizza solo la parte decimale della mantissa. Nello standard IEEE-754 la parte di parola che codifica la mantissa è detta significante, per evitare confusioni con altre rappresentazioni. Lo zero viene rappresentato con una parola in cui l esponente e il significante sono nulli (si ricordi che l esponente non può essere zero se non in casi speciali). Il bit di segno può essere sia a 0 che a 1. Si hanno quindi due rappresentazioni dello zero. Nel caso di singola precisione il minimo numero maggiore di zero rappresentabile è Il massimo numero rappresentabile è invece minore di Nel caso di precisione doppia questi valori diventano rispettivamente e Ciò che è importante sapere è che i numeri rappresentabili non sono distribuiti uniformemente sulla retta. Per ogni valore dell esponente, può essere rappresentato un numero finito di valori pari a 2 23 o 2 52, a seconda che si stiano considerando numeri in singola o doppia precisione. Questo darà una maggiore risoluzione per valori vicini a zero e minore per valori più grandi. Se l esponente ha tutti i suoi bit a 1, allora ci si trova in una delle seguenti situazioni: 1. Il significante è tutto zero: questa configurazione identifica l infinito (positivo o negativo), si ottiene ad esempio dividendo per zero; 2. Il significante è diverso da zero: Not-a-Number (NaN), che indica un numero non rappresentabile (si ottiene ad esempio dividendo infinito per infinito). *** Numeri visti fin ora sono detti normalizzati, in quanto la mantissa è sempre maggiore o uguale a 1. Lo standard IEEE-754 prevede anche numeri non normalizzati, in cui il significante può valere meno di 1. Un numero non normalizzato ha l esponente tutto a zero e il significante diverso da zero. In questo caso il significante diventa una mantissa e rappresenta il numero frazionario in cui il punto decimale sta a sinistra della sequenza di 23 o 52 bit a seconda dei casi. Questa possibilità e stata prevista per consentire una maggiore precisione sui numeri piccoli, consentendo di arrivare a precisioni di per il caso a singola precisione e di nel caso a doppia precisione. *** 6.1 Somma e prodotto di numeri in virgola mobile Siano x = (1 + m x ) 2 ex e y = (1 + m y ) 2 ey, con x y. In questo caso 0 m x < 1 e 0 m y < 1 sono i significanti, mentre e x e e y sono gli esponenti nello standard IEEE754. Come si può calcolare x + y? Si deve rinormalizzare il numero più piccolo, eseguire la somma e rinormalizzare il risultato. Esplicitando i termini z = x + y = ((1 + m x )2 ex ey + (1 + m y ))2 ey = = (1 + m z ) 2 ez 15

16 Nel caso in cui e x = e y, il calcolo diventa z = x + y = ((1 + m x ) + (1 + m y ))2 ey = = (2 + m x + m y ) 2 ey Sappiamo che m x + m y < 2. In questo caso z = (2 1 (2 + m x + m z ))2 ey+1 = ( 1 + m ) x + m y 2 ey+1. 2 Come si può notare la normalizzazione avviene modificando l esponente in modo che la mantissa sia compresa tra 1 e 2. In modo analogo per il prodotto. In questo caso l esponente risultante è la somma dei prodotti e la mantissa il prodotto delle mantisse. z = (1 + m x + m y + m x m y )2 ex+ey Come risulta immediato, 1 (1 + m x + m y + m x m y ) < 4 Se la mantissa è maggiore di 2 è anche qui necessario normalizzare l esponente al fine di riportarla a essere compresa tra 1 e 2. nei processi di normalizzazione alcuni bit possono essere perduti! La precisione del calcolo può dipendere quindi anche dall ordine in cui le operazioni in virgola mobile vengono eseguite. Esercizi: 1. Si rappresenti 0.5 come numero a singola precisione. 2. Si rappresenti 1.5 come numero a singola precisione. 7 Rappresentazione binaria delle stringhe Per stringa si intende una sequenza di simboli (in genere presi da un insieme finito detto alfabeto). Si tratta di di associare una opportuna sequenza di bit a ogni simbolo dell alfabeto. Visto che una sequenza di n bit può rappresentare 2 n caratteri, se l alfabeto contiene m simboli è necessario che 2 n m, ovvero che n log 2 m. In particolare, se siamo intenzionati a minimizzare il numero di bit per simbolo, dobbiamo imporre che n = log 2 m, dove x è il più piccolo numero intero maggiore o uguale a x (o parte alta di x). Per codificare i caratteri alfanumerici i calcolatori utilizzano generalmente il codice ASCII, che ha 128 simboli (codificabili in 7 bit). La tabella ASCII è facilmente reperibile su WEB. Ci si limita qui a dire che normalmente il codice ASCII usato dipende dalla nazione che prevede che alcuni simboli siano specifici (come le lettere accentate). Il codice ASCII rappresenta anche caratteri speciali come lo spazio, nuora riga, inizio riga, tabulatore, etc. In oltre generalmente si utilizza una versione estesa del codice ASCII che utilizza 256 simboli (1 byte). I 16

17 simboli da 128 a 255 dipendono dal codice che si sta utilizzando, mentre i primi 128 sono quelli dello standard (con le eventuali modifiche nazionali). L avvento del WEB e di Internet ha portato all utilizzo di codici ISO, che sono più versatili e adatti a un ambiente in cui le informazioni vengono scambiate tra le più remote regioni del mondo. Una sequenza di caratteri viene quindi codificata mettendo una dopo l altra le codifiche dei caratteri. Per evitare ambiguità si utilizza di solito lo stratagemma di assegnare a tutti i simboli codifiche di lunghezza fissa (ad esempio un byte), ma altre volte si preferiscono schemi più complessi in cui si impone che la codifica di un carattere non possa essere il prefisso di un altra. Questi codici riescono tipicamente a ridurre la quantità di spazio necessario a immagazzinare le sequenze. 17

Soluzioni Esercizi su rappresentazione binaria dell informazione

Soluzioni Esercizi su rappresentazione binaria dell informazione Soluzioni Esercizi su rappresentazione binaria dell informazione Mauro Bianco 1 Numeri naturali Esercizi: 1. Si calcoli 323 4 + 102 4. Partendo da destra a sinistra 2 4 + 3 4 5 10 4 + 1 10 11 4. La cifra

Dettagli

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

Dettagli

Unità aritmetica e logica

Unità aritmetica e logica Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire

Dettagli

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

Rappresentazione e Codifica dell Informazione

Rappresentazione e Codifica dell Informazione Rappresentazione e Codifica dell Informazione Capitolo 1 Chianese, Moscato, Picariello, Alla scoperta dei fondamenti dell informatica un viaggio nel mondo dei BIT, Liguori editore. Sistema di numerazione

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b

Dettagli

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

Codifica. Rappresentazione di numeri in memoria

Codifica. Rappresentazione di numeri in memoria Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa

Dettagli

Lezione 3. I numeri relativi

Lezione 3. I numeri relativi Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si

Dettagli

Rappresentazione dei Dati

Rappresentazione dei Dati Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Rappresentazione dell Informazione 1 Il bit Si consideri un alfabeto di 2 simboli: 0, 1 Che tipo di informazione si può rappresentare con un bit? 2 Codifica binaria

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Luca Abeni e Luigi Palopoli February 25, 2015 Informazione nei Computer Un computer è un insieme di circuiti elettronici......in ogni circuito, la corrente può passare o non

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Luca Abeni e Luigi Palopoli February 18, 2016 Informazione nei Computer Un computer è un insieme di circuiti elettronici......in ogni circuito, la corrente può passare o non

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi

Dettagli

Esercitazione del 09/03/ Soluzioni

Esercitazione del 09/03/ Soluzioni Esercitazione del 09/03/2006 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le

Dettagli

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dei numeri reali in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri reali in un calcolatore Lezione 3 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione di numeri

Dettagli

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1 I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma

Dettagli

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale Numeri frazionari sistema posizionale due modi: virgola fissa virgola mobile posizionale, decimale 0,341=tre decimi più quattro centesimi più un millesimo cifre dopo la virgola: decimi centesimi millesimi

Dettagli

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Anno Accademico 2001/2002 Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Numeri e numerali! Numero: entità astratta! Numerale: stringa di

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

Codifica di informazioni numeriche

Codifica di informazioni numeriche Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Codifica di informazioni numeriche Fondamenti di Informatica - Ingegneria Elettronica Leonardo Querzoni querzoni@dis.uniroma1.it

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Sistema Numerico Decimale

Sistema Numerico Decimale Sistema Numerico Decimale 10 digits d = [0,1,2,3,4,5,6,7,8,9] 734 = 7 * 10 2 + 3 * 10 1 + 4 * 10 0 0.234 = 2 * 10-1 + 3 * 10-2 + 8 * 10-3 In generale un numero N con p digits(d) interi ed n digits frazionari

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università

Dettagli

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente

Dettagli

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 I seguenti numeri naturali sono rappresentabili usando il numero di bit specificato?

Dettagli

Codifica dell informazione

Codifica dell informazione Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Codifica dell informazione Pietro Di Lena - pietro.dilena@unibo.it There are 10 types of people in this world: understand binary

Dettagli

Rappresentazione dei Numeri

Rappresentazione dei Numeri Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato

Dettagli

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica: Rappresentazione dell informazione I calcolatori gestiscono dati di varia natura: testi, immagini, suoni, filmati, nei calcolatori rappresentati con sequenze di bit: mediante un opportuna codifica presentiamo

Dettagli

Decimale, binaria,esadecimale

Decimale, binaria,esadecimale Decimale, binaria,esadecimale Introduzione Tutti i sistemi di numerazione sono posizionali nel senso che le cifre assumono un determinato valore a seconda della posizione occupata all interno del numero

Dettagli

I SISTEMI DI NUMERAZIONE Sistema di Numerazione

I SISTEMI DI NUMERAZIONE Sistema di Numerazione I SISTEMI DI NUMERAZIONE Sistema di Numerazione Un sistema di numerazione è un insieme di simboli e regole, atti a dar luogo ad una codifica numerica, cioè a produrre un insieme di simboli diversi tra

Dettagli

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet) Elementi di Programmazione Rappresentazione

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?

Dettagli

Lo schema seguente presenta le principali informazioni che devono essere rappresentate mediante codici binari.

Lo schema seguente presenta le principali informazioni che devono essere rappresentate mediante codici binari. Rappresentaziione delllle iinformaziionii allll iinterno dii un ellaboratore I calcolatori digitali sono sistemi in grado di elaborare e archiviare nelle loro memorie esclusivamente grandezze binarie.

Dettagli

Lezioni di Informarica. Prof. Giovanni Occhipinti

Lezioni di Informarica. Prof. Giovanni Occhipinti Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............

Dettagli

La Rappresentazione dell Informazione. Prof.Ing.S.Cavalieri

La Rappresentazione dell Informazione. Prof.Ing.S.Cavalieri La Rappresentazione dell Informazione Prof.Ing.S.Cavalieri Codifica dell Informazione Un sistema numerico è determinato da: Un insieme finito di cifre (simboli) Un insieme finito di regole: on posizionali:

Dettagli

1.2f: Operazioni Binarie

1.2f: Operazioni Binarie 1.2f: Operazioni Binarie 2 18 ott 2011 Bibliografia Questi lucidi 3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli

Dettagli

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due Rappresentazione degli interi Notazione in complemento a 2 n bit per la notazione Nella realta n=32 Per comodita noi supponiamo n=4 Numeri positivi 0 si rappresenta con 4 zeri 0000 1 0001, 2 0010 e cosi

Dettagli

Rappresentazione numeri relativi e reali

Rappresentazione numeri relativi e reali Rappresentazione numeri relativi e reali Lezione 2 Rappresentazione numeri relativi Rappresentazione numeri reali Rappresentazione in Modulo e Segno Rappresentare separatamente il segno (mediante un bit

Dettagli

Rappresentazioni numeriche

Rappresentazioni numeriche Rappresentazioni numeriche Un numero è dotato di un valore una rappresentazione La rappresentazione di un numero è il sistema che utilizziamo per indicarne il valore. Normalmente è una sequenza (stringa)

Dettagli

Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale

Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale Rappresentazione dell informazione I calcolatori gestiscono dati di varia natura: testi, immagini, suoni, filmati, nei calcolatori rappresentati con sequenze di bit: mediante un opportuna codifica presentiamo

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione Breve storia dei sistemi di numerazione. Probabilmente l uomo primitivo per contare gli animali e gli oggetti usava le dieci dita delle mani e, una volta abbassate tutte, tracciava

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi

Dettagli

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione Un quadro della situazione Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

La codifica binaria. Sommario

La codifica binaria. Sommario La codifica binaria Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/44 Sommario Rappresentazione binaria dell Informazione Conversione

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti

Dettagli

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti Esercitazione Informatica I (Parte 1) AA 2011-2012 Nicola Paoletti 31 Maggio 2012 2 Antipasto 1. Quanti bit sono necessari per rappresentare (a) (227.551.832) 10? (b) (125.521) 10? 2. Quanti decimali sono

Dettagli

Bit, Byte, Word e Codifica Dati

Bit, Byte, Word e Codifica Dati Bit, Byte, Word e Codifica Dati Come vengono immagazzinati i dati nella memoria? Le informazioni salvate e non all'interno della memoria del calcolatore vengono gestite come un insieme di numeri in sistema

Dettagli

Appunti del corso di Sistemi - Conversioni numeriche anno scolastico 2007/2008

Appunti del corso di Sistemi - Conversioni numeriche anno scolastico 2007/2008 I sistemi numerici Il sistema Decimale è costituito da 10 simboli. I dieci simboli che tutti conosciamo sono lo zero (0), l uno (1), il due (2), ecc. ecc., indicati come l insieme Dec={0,1,2,3,4,5,6,7,8,9}.

Dettagli

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754 Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati

Dettagli

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione MASTER Information Technology Excellence Road (I.T.E.R.) La Rappresentazione dell Informazione Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 L Informatica

Dettagli

Rappresentazione numeri reali

Rappresentazione numeri reali Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Corso di Fondamenti di Informatica http://www.dei.unipd.it/~satta/teach/java/index.html Giorgio Satta Dipartimento di Ingegneria dell Informazione http://www.dei.unipd.it/~satta satta@dei.unipd.it Fond.

Dettagli

Introduzione e Nozioni di Base. Prof. Thomas Casali

Introduzione e Nozioni di Base. Prof. Thomas Casali Università degli studi di Bologna Facoltà di Economia Sede di Forlì Introduzione e Nozioni di Base Corso di Laurea in Economia di Internet Prof. Thomas Casali thomas@casali.biz La rappresentazione digitale

Dettagli

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di. Codifica di Dati e Istruzioni Fondamenti di Informatica Codifica dell Informazione Prof. Francesco Lo Presti Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare

Dettagli

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori Aritmetica dei Calcolatori Nicu Sebe March 14, 2016 Informatica Nicu Sebe 1 / 34 Operazioni su Bit Bit Scienza della rappresentazione e dell elaborazione dell informazione Abbiamo visto come i computer

Dettagli

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno. Trasferimento Ambiente esterno Controllo Informatica Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it Cos è l Informatica La scienza della rappresentazione

Dettagli

Lezione 2. La conoscenza del mondo

Lezione 2. La conoscenza del mondo Lezione 2 Analogico/Digitale Il sistema binario L aritmetica binaria La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter assegnare a questi

Dettagli

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica: Rappresentazione dell informazione I calcolatori gestiscono dati di varia natura: testi, immagini, suoni, filmati, nei calcolatori rappresentati con sequenze di bit: mediante un opportuna codifica presentiamo

Dettagli

Esercitazione del 2/3/2010- Numeri binari e conversione

Esercitazione del 2/3/2010- Numeri binari e conversione Esercitazione del 2/3/2010- Numeri binari e conversione 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè

Dettagli

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Informazione e Codifica D. Gubiani Nei sistemi informatici le informazioni vengono

Dettagli

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Rappresentazione delle Informazioni IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni La rappresentazione delle Informazioni Nella vita di tutti i giorni siamo abituati ad usare vari tipi di informazioni,

Dettagli

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile) Numeri reali Aritmetica del calcolatore (virgola mobile) Capitolo 9 1 Numeri con frazioni Posso essere rappresentati anche in binario Es.: 1001.1010 = 2 4 + 2 0 +2-1 + 2-3 =9.625 Quante cifre dopo la virgola?

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri in un calcolatore ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Rappresentazione dei numeri Così come per qualsiasi altro

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05 Esercizio 1 Effettuare i seguenti cambiamenti di codifica su numeri naturali: 123 10 = x 2 [ 1111011 2 ] 011101 2 = x 10 [ 29 10 ] 23 10 = x 5 [ 43 5 ] 123 5 = x 10 [ 38 10 ] 123 10 = x H [ 7B 16 ] A1

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Università degli Studi di Brescia Elementi di Informatica e Programmazione Rappresentazione dell'informazione Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 16/08/2017 Dipartimento di Ingegneria

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Gli algoritmi sono costituiti da istruzioni (blocchi sequenziali, condizionali, iterativi) che operano su dati. Per trasformare un programma in una descrizione eseguibile da

Dettagli

Fondamenti di Informatica. Codifiche per numeri decimali: virgola fissa e mobile

Fondamenti di Informatica. Codifiche per numeri decimali: virgola fissa e mobile Corso di per il corso di Laurea di Ingegneria Meccanica Codifiche per numeri decimali: virgola fissa e mobile Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 Rappresentazioni

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica

Corso di Laurea Ingegneria Civile Fondamenti di Informatica Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 03 La rappresentazione dell informazione Marzo 2010 La rappresentazione dell informazione 1 Prerequisiti Architettura calcolatore Sistema

Dettagli

Rappresentazione in complemento a 2: caratteristiche generali

Rappresentazione in complemento a 2: caratteristiche generali Rappresentazione in complemento a 2: caratteristiche generali La rappresentazione non è completamente posizionale, ma in parte sì. Guardando il bit più significativo (MSB) si capisce se il numero è positivo

Dettagli

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N = NOTAZIONE BINARIA, OTTALE, ESADECIMALE CODIFICA DI NUMERI INTERI RELATIVI 1 CONVERSIONE BINARIO DECIMALE Convertire in decimale il numero binario N = 101011.1011 2 N = 1 2 5 + 0 2 4 + 1 2 3 + 0 2 2 + 1

Dettagli

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: n 1Byte = 8 bit n 1K (KiB:

Dettagli