Richiami sulla rappresentazione dei numeri in una base fissata



Documenti analoghi
Calcolo Numerico. la risoluzione di problemi del mondo reale, sfruttando al meglio le risorse di un

Orario del corso. Contenuti del corso. Modalità d esame. Analisi Numerica 1 a.a. 2014/2015

Rappresentazioni numeriche

Rappresentazione binaria

Rappresentazione binaria

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

I.4 Rappresentazione dell informazione

Rappresentazione dei dati in memoria

Sistemi di numerazione

Lezione 2. Sommario. Il sistema binario. La differenza Analogico/Digitale Il sistema binario

Aritmetica dei Calcolatori Elettronici

La codifica. dell informazione

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

La codifica digitale

1.2 Concetti base dell Informatica: Informazione

Sperimentazioni di Fisica I mod. A Lezione 3

RAPPRESENTAZIONE DEI NUMERI IN UN CALCOLATORE

ESEMPIO. x = Rappresentazione in base 10 dei numeri reali.

Lezione 2. La conoscenza del mondo

Algoritmi di conversione Rappresentazione ottale e esadecimale. 25 settembre 2018

Architettura degli Elaboratori

Il linguaggio dei computer: rappresentazione in binario e algoritmi di conversione 20 settembre 2017

Calcolatori: Sistemi di Numerazione

Lezione 3. I numeri relativi

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

Esercitazione del 03/03/ Soluzioni

La codifica. dell informazione

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

Informatica e Bioinformatica: Rappresentazione dell Informazione

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

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Rappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

La codifica dei numeri

Esercitazione del 09/03/ Soluzioni

Matematica Lezione 2

Rappresentazione ottale e esadecimale. 22 settembre 2017

Rappresentazione dei numeri

1-Rappresentazione dell informazione

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

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

ARCHITETTURA DEGLI ELABORATORI CLASSE 2 A.A. 2014/15. Docente: Vincenzo Auletta RAPPRESENTAZIONE DELL INFORMAZIONE

La codifica dei numeri

Moltiplicazione. Divisione. Multipli e divisori

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Sistemi di numerazione

Sistemi di numerazione

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

Sistemi di Numerazione Binaria a i b i. a m a m-1... a 0. a -1 a a -k

Esercitazione 1 del 9/10/2013

Sistemi di Numerazione Binaria

Corso di Calcolatori Elettronici I

1.2 Concetti base dell Informatica: Informazione

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

Elementi di informatica

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

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

Esercitazione 1 del 10/10/2012

Esercitazione 1 del 8/10/2014

Conversione di un numero da binario a decimale

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

Rappresentazione. Rappresentazione del testo. Rappresentare numeri. Rappresentazione delle informazioni in codice binario. Caratteri.

Rappresentazione dell informazione

Rappresentazione dei numeri

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Esercitazione del 05/03/ Soluzioni

Esercitazione 1 del 07/10/2011

Interi positivi e negativi

La Rappresentazione dell Informazione

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Sistemi di Numerazione Binaria

I sistemi di Numerazione. Contenuti. Sistema Addizionale. Notes. Notes. Notes. Gasparotto Matteo. a.s Sistema Addizionale

Codifica di informazioni numeriche

Corso di Calcolatori Elettronici I A.A Lezione 2 Rappresentazione dei numeri: sistemi di numerazione posizionale ing. Alessandro Cilardo

Rappresentazioni ottale ed esadecimale Barbara Masucci

Codifica dell informazione numerica

I sistemi di numerazione e la numerazione binaria

Elementi di informatica

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Fondamenti di informatica

Informatica Generale 02 - Rappresentazione numeri razionali

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

Insiemi numerici. Teoria in sintesi NUMERI NATURALI

Rappresentazione di numeri interi e frazionari. 28 settembre 2015 (ore 9-11)

1 Multipli di un numero

Sistemi di numerazione

1 Linguaggio degli insiemi

Sistemi di Numerazione Binaria

LA CODIFICA DELL INFORMAZIONE. Prof. Enrico Terrone A. S: 2014/15

Lezioni di Informarica. Prof. Giovanni Occhipinti

Informazione e Registri - 2

Elementi di informatica

Rappresentazione dell informazione

Transcript:

Silvia Bonettini - Appunti di Analisi Numerica 1 Richiami sulla rappresentazione dei numeri in una base fissata In questo capitolo si vogliono richiamare i concetti principali riguardanti la reppresentazione dei numeri in una base qualunque. Per introdurre l argomento distinguiamo il concetto di quantità espressa da un numero e la sua rappresentazione. NUMERO ENTITA ASTRATTA RAPPRESENTAZIONE sette (7, VII, 111 2,...) univocamente determinata molteplice a seconda dei criteri di rappresentazione adottati. A proposito della rappresentazione dei numeri, ricordiamo che la convenzione da noi usata per esprimere un numero è detta notazione posizionale. Vediamone il significato con un esempio. Quando scriviamo la stringa 759 noi in realtà intendiamo quel numero composto da 7 centinaio, 5 decine e 9 unità. Cifre 7 5 9 = 7 10 2 + 5 10 1 + 9 10 0 Posizione 2 1 0 Base 10 Ogni cifra assume un valore diverso a seconda della sua posizione all interno della stringa. Osserviamo anche che questa convenzione non è sempre usata nei numeri romani, dove ogni cifra (I, X, C, L, M,...), eccetto alcuni casi, ha

Silvia Bonettini - Appunti di Analisi Numerica 2 sempre lo stesso valore ovunque si trovi 1. La notazione posizionale decimale è dunque caratterizzata da una base β = 10, dalle posizioni delle cifre che costituiscono gli esponenti della base e da un insieme di simboli, le cifre 0,1,2,3,..., ciascuna delle quali indica un valore compreso tra 0 e 9. Mantenendo la convenzione posizionale, possiamo estendere il discorso per qualsiasi base β. Ad ogni valore di β dovremo definire un insieme ordinato S di simboli associati ai valori compresi tra 0 e β 1. BASE SIMBOLI 2 S = {0, 1} 8 S = {0, 1, 2, 3, 4, 5, 6, 7} 16 S = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } Fissata una base β, ogni numero naturale si può quindi scrivere come una stringa di n cifre, che indichiamo con (c n c n 1...c 1 c 0 ) β Il valore di ogni cifra è dato dalla sua posizione all interno dell insieme S. Tuttavia, se con un piccolo abuso di notazione, indichiamo con c i anche il valore della cifra, allora il valore del numero espresso in notazione posizionale è (c n c n 1...c 1 c 0 ) β = c n β n + c n 1 β n 1 +... + c 1 β + c 0 ESEMPI. trecentosettantadue = (372) 10 = 3 10 2 + 7 10 1 + 2 10 0 (174) 16 = 1 16 2 + 7 16 1 + 4 16 0 (564) 8 = 5 8 3 + 6 8 1 + 4 8 0 (101110100) 2 = 1 2 8 + 0 2 7 + 1 2 6 + 1 2 5 + duecentoottantasette = +1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 0 2 0 (287) 10 = (100011111) 2 = (10133) 4 (437) 8 = (11F ) 16 = (8V ) 32. Osserviamo che, all aumentare della base, aumenta il numero dei simboli. Al contrario, con una base più grande sono in genere necessarie meno cifre per 1 Infatti la notazione posizionale, assieme alle cifre che oggi tutti usiamo, sono giunte in occidente nel Medioevo grazie a matematici arabi.

Silvia Bonettini - Appunti di Analisi Numerica 3 rappresentare uno stesso valore. Supponiamo per esempio di rappresentare un numero naturale N in base 10 e in base 2, N = (a n a n 1...a 0 ) 10 = (b m b m 1...b 0 ) 2 con n+1 ed m+1 cifre rispettivamente. Vediamo in particolare di giustificare in modo più rigoroso quest ultima affermazione. Supponiamo che la prima cifra in entrambe le rappresentazioni non sia nulla. Allora deve essere 10 n N < 10 n+1 e 2 m N < 2 m+1. In particolare, indicando con x la parte intera di un numero reale x, si ha che n = log 10 N e m = log 2 N Ricordando che log 2 N = log 10 N log 2 10, possiamo approssimare il rapporto m come n m n log 2 N log 10 N log 2 10 3.32 Dunque, per rappresentare lo stesso numero in base 2 servono circa il triplo di cifre che in base 10. Si può generalizzare il risultato precedente dicendo che, se un numero si rappresenta on n + 1 cifre in base β 1 e con m + 1 cifre in base β 2, allora m n log β 2 β 1. Inoltre, minore è il numero dei simboli, quindi più piccola è la base, più demplici diventano le operazioni algebriche. Si confronti per esempio la tavola pitagorica per la moltiplicazione in base 10 con la corrispondente tavola per la stessa operazione in base 2 riportata qui sotto. + 0 1 0 0 1 1 1 10 0 1 0 0 0 1 0 1 A partire da queste semplici tavole si eseguono le operazioni aritmetiche seguendo le stesse regole valide nel caso decimale.

Silvia Bonettini - Appunti di Analisi Numerica 4 Somma: (25) 10 + (19) 10 = (44) 10. 1 1 0 0 1 + 1 0 0 1 1 = Riporto 1 1 1 Differenza: (24) 10 (13) 10 = (11) 10. 1 1 0 0 0-0 1 1 0 1 = 0 1 0 1 1 1 0 1 1 0 0 Prodotto: (13) 10 (14) 10 = (182) 10. 1 1 0 1 1 1 1 0 = 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 Quoziente: (28) 10 : (9) 10 = (3) 10 con resto 1. 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 Quoziente e prodotto sono riportati a differenze o somme e traslazioni di numeri. La scelta della base 2 comporta la manipolazione di lunghe stringhe di numeri ma la complessità dell aritmetica è bassa. Le operazioni possono essere realizzate con semplici circuiti elettronici. SCELTA DELLA BASE numero dei simboli lunghezza delle stringhe complessità dell aritmetica La somma di due cifre con riporto fornisce il risultato e il successivo riporto. Il numero delle possibili combinazioni degli impulsi in entrata è basso. La tabella seguente riporta proprio tutte le possibili combinazioni di somma di cifre in base 2.

Silvia Bonettini - Appunti di Analisi Numerica 5 c 1 c 0 riporto s riporto 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Silvia Bonettini - Appunti di Analisi Numerica 6 Rappresentazione dei numeri reali Finora abbiamo considerato il problema della rappresentazione dei numeri naturali e abbiamo visto come la notazione posizionale si adatti alla scelta di diverse basi. Ora consideriamo il caso dei numeri reali, per i quali vale il seguente teorema. Teorema di rappresentazione dei numeri reali Sia α R, α 0; fissato una base β > 1, α si rappresenta in modo unico come: α = segno(α)(a 1 β 1 + a 2 β 2 + a 3 β 3 +...)β p = segno(α) (a i β i )β p i=1 = segno(α) mβ p dove segno(α) = ±1 (a seconda che α >, < 0), 0 a i β 1, con a i interi e a 1 0 e p è un intero. Può esistere un indice k tale che a i = 0, k i (siginifica che α è un intero o un razionale finito), ma non esiste un indice k tale che a i = β 1, k i. Osserviamo che: Il numero reale 0 si rappresenta con 0. Poichè β > 1, la serie i=1 (a iβ i ) è convergente. m si dice mantissa e vale che 1 β m < 1. β p si dice parte esponente; p si dice esponente o caratteristica. si dice punto radice, + o si dice segno del numero e può essere omesso se il numero è positivo. In forma sintetica ogni numero reale α 0 si rappresenta come α = ±(.a 1 a 2 a 3...) β β p Se a 1 0, questa si dice forma normalizzata. Un numero reale α 0 si esprime in notazione posizionale in base β > 1 nel seguente modo:

Silvia Bonettini - Appunti di Analisi Numerica 7 1. forma mista: { α = ±.000..0a 1 a 2... ±a 1 a 2...a p.a p+1 a p+2... 2. forma scientifica: α = ±.a 1 a 2...β p ; si dice normalizzata se a 1 0. In base 2, in forma normalizzata, a 1 = 1. Esempi (372) 10 mista.372 10 3 normalizzata.0372 10 4 scientifica (3.141592...) 10 mista.3141592 10 1 normalizzata.3243f... 16 1 normalizzata (3.243F...) 16 mista

Silvia Bonettini - Appunti di Analisi Numerica 8 Algoritmi per la conversione di base Presentiamo ora alcuni algoritmi per la conversione di base, per numeri interi e per numeri reali. Algoritmo delle divisioni successive Serve per rappresentare un intero positivo α da base 10 ad una diversa base β. L algorimo consiste nell eseguire la divisione intera (quoziente e resto) del numero α per β finchè non si giunge ad un quoziente nullo. α β r 0 q 0 β r 1 q 1 β 2 2... Per costruzione risulta che q n 1 β r n q n = 0 α = βq 0 + r 0 = β(βq 1 + r 1 ) + r 0 = β 2 q 1 + βr 1 + r 0 = β(β(βq 2 + r 2 ) + r 1 ) + r 0 = β 3 q 3 + β 2 r 2 + βr 1 + r 0. = β n r n +... + β 2 r 2 + βr 1 + r 0 e quindi la rappresentazione di α in base β è data dai resti delle divisioni in ordine inverso α = (r n r n 1...r 1 r 0 ) β. Esempi Rappresentazione del numero (1972) 10 in base 2, 8 e 16.

Silvia Bonettini - Appunti di Analisi Numerica 9 base 2 1972 : 2 = 986 resto 0 986 : 2 = 493 resto 0 493 : 2 = 246 resto 1 246 : 2 = 123 resto 0 123 : 2 = 61 resto 1 61 : 2 = 30 resto 1 30 : 2 = 15 resto 0 15 : 2 = 7 resto 1 7 : 2 = 3 resto 1 3 : 2 = 1 resto 1 1 : 2 = 0 resto 1 (1972) 10 = (11110110100) 2 base 8 1972 : 8 = 264 resto 4 246 : 8 = 30 resto 6 30 : 8 = 3 resto 6 3 : 8 = 0 resto 3 (1972) 10 = (3664) 8 base 16 1972 : 16 = 123 resto 4 123 : 16 = 7 resto 11 = B 7 : 16 = 0 resto 7 (1972) 10 = (7B4) 16 Algoritmo delle moltiplicazioni successive Serve per rappresentare un reale decimale α < 1 in una base β > 1. Si tratta di determinare le cifre della rappresentazione α = (.a 1 a 2 a 3...) β = a 1 β 1 + a 2 β 2 + a 3 β 3 +... moltiplicando il numero α per la base β. Infatti al primo passo si ha αβ = a 1 + a 2 β 1 + a 3 β 2 + a 4 β 3... = a 1 + n 1 e dunque a 1 = αβ è la prima cifra. Al passo successivo si ripete lo stesso procedimento applicato al numero n 1 = α αβ < 1 e si determina calcola n 1 β = a 2 + a 3 β 1 + a 4 β 2 +... = a 2 + n 2. La seconda cifra è a 2 = αn 1 : al passo successivo si calcola la terza cifra come a 3 = αn 2. Ci si arresta o perchè la parte frazionaria diventa nulla o perchè si è raggiunto un numero di cifre sufficienti. Osserviamo infatti che numeri che hanno una rappresentazione finita in una certa base non è detto che si possano rappresentare con un numer finito di cifre in una base diversa (per esempio (0.1) 3 = 1/3 = (0.3333...) 10 ). Esempi(0.1) 10

Silvia Bonettini - Appunti di Analisi Numerica 10 base 2 0.1 2 = 0.2 p. intera 0 0.2 2 = 0.4 p. intera 0 0.4 2 = 0.8 p. intera 0 0.8 2 = 1.6 p. intera 1 0.6 2 = 1.2 p. intera 1 0.2 2 = 0.4 p. intera 0... (0.1) 10 = (0.0001100) 2 base 5 0.1 5 = 0.5 p. intera 0 0.5 5 = 2.5 p. intera 2 0.5 5 = 2.5 p. intera 2... (0.1) 10 = (0.02) 5 base 7 0.1 7 = 0.7 p. intera 0 0.7 7 = 4.9 p. intera 4 0.9 7 = 6.3 p. intera 6 0.3 7 = 2.1 p. intera 2 0.1 7 = 0.7 p. intera 0... (0.1) 10 = (0.0462) 7 Conversione di un reale da base 10 a base β Ricordando che ogni numero si esprime come somma della sua parte intera e della sua parte frazionaria, gli algoritmi delle divisioni e delle moltiplicazioni successive possono essere impiegati per calcolare la conversione di base di un qualunque reale. 1. Determinare α, ricordando il segno. 2. Determinare la parte intera α e eseguire la conversione con l algoritmo delle divisioni successive. 3. Determinare la parte frazionaria α α e eseguire la conversione con l algoritmo delle moltiplicazioni successive. 4. Scrivere il segno, la conversione della parte intera, il punto radice, la conversione della parte frazionaria. Esempio α = ( 25.375) 10. Convertire in base 2. 1. α = 25.375; segno= -. 2. [ α ] = 25; (25) 10 = (11001) 2. 3. α [ α ] =.375; (.375) 10 = (.011) 2.

Silvia Bonettini - Appunti di Analisi Numerica 11 4. α = ( 11001.011) 2. Conversione da base β a base 10 Ci sono due modi: Si applica la definizione di rappresentazione posizionale: α = ±(a 1 a 2...a p.a p+1 a p+2...a q ) β = ±(a 1 β p 1 + a 2 β p 2 +... + a p β 0 + +a p+1 β 1 + a p+2 β 2 +... + a q β p q ) Se definiamo due polinomi f e g come segue f(x) = a 1 x p 1 +a 2 x p 2 +...+a p e g(x) = a q x p+q +a q 1 x p+q 1 +...+a p+1 x la conversione equivale alla somma del polinomio f valutato nel punto x = β e del polinomio g in x = 1/β. (α) 10 = ±(f(β) + g(1/β)). Per convertire da base β a base 10 il numero reale α si possono usare gli algoritmi delle divisioni e delle moltiplicazioni successive, purchè si lavori con aritmetica in base β. Le cifre ottenute si convertono ai simboli di base 10. Conversione di un reale α da base β 1 a base β 2. 1. Si converte da base β 1 a base 10 (usando la rappresentazione posizionale) e da base 10 a base β 2 (con gli algoritmi delle divisioni e delle moltiplicazioni successive). Esempio α = (1221) 7. Conversione a base β 2 = 2. α = 1.7 3 + 2.7 2 + 2.7 1 + 1.7 0 = (456) 10 (456) 10 = (111001000) 2 mediante divisioni successive 2. Si può eseguire la conversione da base β 1 a base β 2 usando l algoritmo delle divisioni successive e/o delle moltiplicazioni successive con aritmetica in base β 1, convertendo le cifre ottenute ai simboli

Silvia Bonettini - Appunti di Analisi Numerica 12 della base β 2. β 2 va espresso in base β 1. ESEMPIO. α = (111001000) 2. Si converte a base β 2 = 7 = (111) 2. α = (1221) 7. 111001000 : 111 = 1000001 resto 1 1000001 : 111 = 1001 resto (10) 2 = 2 1001 : 111 = 1 resto (10) 2 = 2 1 : 111 = 0 resto 1 Conversione di un reale da base β 1 a base β 2 Caso particolare Nel caso in cui β 2 = β k 1, nella rappresentazione in base β 1 di un numero α reale, si staccano gruppi di k cifre a partire dal punto radice verso destra e verso sinistra, completando eventualmente il primo e l ultimo gruppo con zeri. Ogni gruppo è convertito a un simbolo della base β 2. Esempio. β 1 = 2; β 2 = 8 = 2 3. α = ( 1101110.01) 2 = ( 156.2) 8 β 1 = 2; β 2 = 16 = 2 4. 001 101 110. 010 1 5 6 2 α = ( 1101110.01) 2 = ( 6E.4) 16 0110 1110. 0100 6 E 4 Viceversa, se β 1 = β2 k, si espande ogni simbolo della rappresentazione di α in base β 1 sostituendolo con un gruppo di k cifre che sono la conversione del simbolo nella base β 2. Esempio β 1 = 9 = 3 2 ; β 2 = 3. α = (37.47) 9 = (1021.1121) 3 3 7. 4 7 10 21. 11 21

Silvia Bonettini - Appunti di Analisi Numerica 13 Si usa la seguente tabella di conversione dei simboli. (00) 3 0 9 (01) 3 1 9 (02) 3 2 9 (10) 3 3 9 (11) 3 4 9 (12) 3 5 9 (20) 3 6 9 (21) 3 7 9 (22) 3 8 9