Elementi di informatica



Похожие документы
Elementi di informatica

Sistemi di Numerazione

Sistemi di Numerazione Binaria NB.1

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Fondamenti di Informatica

Rappresentazione dei numeri in un calcolatore

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Codifica dei numeri negativi

2.12 Esercizi risolti

Codifica binaria dei numeri

Informatica. Rappresentazione dei numeri Numerazione binaria

Codifica binaria dei numeri relativi

Alessandro Pellegrini

Rappresentazione delle informazioni

4 3 4 = 4 x x x 10 0 aaa

Sommario. Addizione naturale

4. Operazioni aritmetiche con i numeri binari

SISTEMI DI NUMERAZIONE E CODICI

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Informatica Generale 02 - Rappresentazione numeri razionali

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

2. Codifica dell informazione

ESEMPIO 1: eseguire il complemento a 10 di 765

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Rappresentazione binaria

Introduzione. Università degli studi di Cassino. Ing. Saverio De Vito Tel.:

Materiale di approfondimento: numeri interi relativi in complemento a uno

Sistemi di numerazione: generalità

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Aritmetica dei Calcolatori 1

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Esercitazione Informatica I AA Nicola Paoletti

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Rappresentazione di informazioni con un alfabeto finito

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

Fondamenti di Informatica 2. Le operazioni binarie

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Informazione analogica e digitale

la scienza della rappresentazione e della elaborazione dell informazione

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA

Elementi di Informatica e Programmazione

Operazioni binarie fondamentali

La somma. Esempio: Il prodotto. Esempio:

ESTRAZIONE DI RADICE

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

La codifica delle informazioni

I sistemi di numerazione

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

I SISTEMI DI NUMERAZIONE

Codifica binaria e algebra di Boole

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

Rappresentazione numeri in virgola mobile

Definizioni iniziali

Introduzione. Rappresentazione di numeri in macchina, condizion

Parte 1. Vettori di bit - AA. 2012/13 1.1

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Laboratorio di Informatica

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

4. Operazioni elementari per righe e colonne

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Indice. 1 Rappresentazione dei dati... 3

FONDAMENTI DI INFORMATICA

I SISTEMI DI NUMERAZIONE

SISTEMI DI NUMERAZIONE

1 Sistema additivo e sistema posizionale

Aritmetica dei Calcolatori 2

- Sistemi di numerazione 1 - Sistemi di Numerazione

la scienza della rappresentazione e della elaborazione dell informazione

Logica e codifica binaria dell informazione

Floating Point N = M BE. Notazione in virgola mobile. base. esempi = =

Numeri interi posi-vi e nega-vi

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Comparatori. Comparatori di uguaglianza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

L'informazione e la sua codifica

OCCUPATI SETTORE DI ATTIVITA' ECONOMICA

I diversi tipi di sistemi di numerazione

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Corso di Calcolo Numerico

LA NUMERAZIONE BINARIA

SISTEMA DI RAPPRESENTAZIONE BINARIA DEI NUMERI E. Giordani

Il concetto di valore medio in generale

Dimensione di uno Spazio vettoriale

Memorie ROM (Read Only Memory)

Pre Test Matematica

Транскрипт:

Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni in genere codifica a lunghezza fissa l insieme di numeri rappresentati è finito sistemi posizionali ad eccezione dei numeri interi positivi (caso( banale), trasformazione del numero da rappresentare in un altro numero rappresentabile... Codifica dell'informazione 2 1

trasformazione e codifica insieme X dei numeri da rappresentare X è un intervallo di numeri interi o reali insieme Y dei numeri rappresentati Y è un intervallo finito trasformazione di un numero x X in un numero y Y regola di trasformazione: y = R(x) rappresentazione in cifre (sistema( posizionale) ) di y codifica in bit delle cifre Overflow e underflow overflow: : tentativo di rappresentare un numero esterno all intervallo Impossibilità di rappresentare il numero Utilizzando la numerazione posizionale in base 2 un numero M espresso su n bit potrà assumere valori compresi tre 0 M 2 n -1 underflow: : un numero x 0 viene rappresentato da y = 0 ovviamente ha senso solo nel caso in cui X è un intervallo di numeri reali, rappresentati da Y (intervallo finito) con un approssimazione ε 2

Parametri di un sistema di rappresentazione intervallo numerico e tipo del numero x da rappresentare regola di trasformazione y = R(x) condizione di overflow approssimazione ε e condizione di underflow - solo per i reali base di numerazione codifica delle cifre in binario - se la base della numerazione è diversa da 2 NB: se la base della numerazione non è binaria, la codifica del numero in binario è indiretta... I numeri naturali La rappresentazione dei numeri naturali è fondamentale perché tutte le altre si rifanno a questa Numeri rappresentabili: 0 y < b n b è la base di numerazione in pratica 2, 8, 16 ma anche 10 rappresentazione ad n cifre : C n-1 C n-2...c 0, dove 0 C i < b condizione di overflow: : x M 3

Aritmetica dei numeri naturali Algoritmi classici per la realizzazione delle operazioni aritmetiche (noti dalle elementari) le regole sono le stesse per tutti i sistemi di numerazione posizionali (non solo quello decimale): per addizione e sottrazione numeri in colonna e riporto, per moltiplicazione e divisione uso di tavole pitagoriche per le singole cifre un esempio... 1 1 0 0 riporti 4987 + 3232 8219 Addizione in binario L addizione tra due numeri binari segue le stesse regole dell addizione tra due numeri decimali: i due numeri sono incolonnati uno sopra l altro. si effettua la somma delle cifre di pari peso. Tabella di addizione Ai Bi Si Ri 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Ai+Bi = Si Ri = Carry o Riporto 4

esempio riporto 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 0 + Sottrazione in binario Anche la sottrazione segue le stesse regole della sottrazione tra due numeri decimali: i due numeri sono incolonnati uno sopra l altro. si effettua la sottrazione delle cifre di pari peso. Tabella della sottrazione Ai Bi Si Bi 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Ai-Bi = Si Bi = Borrow o Prestito 5

esempio borrow 1 1 0 1 1 0 1 1 0 0 1 0 1 - Overflow Nel caso in cui si abbia un numero limitato di bit a disposizione, si possono avere due casi particolari di errore: Carry sul bit più significativo; Borrow dal bit più significativo. In entrambi i casi il numero di bit fissato non è sufficiente per rappresentare il risultato. Tale condizione si dice di overflow. 6

Esempio di overflow Considerando i numeri binari di 4 bit, effettuare la somma 9 + 7. 9 10 =1001 2 10 =0111 2 7 10 1 riporto 1 0 0 1 0 1 1 1 1 0 0 0 0 + Il risultato non è rappresentabile su 4 bit, quindi si ha overflow Esempio di overflow Considerando i numeri binari di 4 bit, effettuare la sottrazione 5-7. 5 10 =0101 2 7 10 =0111 2 1 borrow 0 1 0 1 0 1 1 1 1 1 1 0 - Il risultato non è rappresentabile su 4 bit, quindi si ha overflow 7

Operazione di scalamento a sinistra Uno scalamento a sinistra di un numero binario equivale ad una moltiplicazione per 2. 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 Inserito uno 0 in fondo Uno scalamento di N posizioni a sinistra equivale a moltiplicare il numero binario per 2 N. Scalamento a destra Uno scalamento a destra di un numero binario equivale ad una divisione per 2. 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 Inserito uno 0 in cima Scalamento a destra Uno scalamento di N posizioni a destra equivale a dividere il numero binario per 2 N. 8

Definizioni: numerali e numeri Un numerale è solo una stringa di cifre Un numerale rappresenta un numero solo se si specifica un sistema di numerazione Lo stesso numerale rappresenta diversi numeri in diverse notazioni Esempio La stringa 110100 rappresenta: Centodiecimilacento in base 10 (52) 10 in base 2 Un numero dell ordine di vari milioni in base 16 Interi positivi e negativi Finora abbiamo considerato solamente la rappresentazione dei numeri positivi Si utilizzano varie rappresentazioni per gli interi relativi Modulo e segno Complemento a 1 Complemento a 2 Eccesso Per rappresentare gli interi relativi, a parità di cifre si dimezza l intervallo dei valori assoluti 9

Rappresentazione con modulo e segno Per rappresentare un numero con segno, si usa: un bit per il segno: 0 per +, 1 per n-1 1 bit per il modulo Intervallo di rappresentazione: [-2[ n- 1 +1, +2 n-1-1] Esempio n=4 bit intervallo [-7,+7][ 5 = 0101-55 = 1101 Osservazioni Intervallo di rappresentazione simmetrico Problema: doppia rappresentazione dello zero (nel caso di 8 bit 10000000 e 00000000) Ulteriore problema: addizione e sottrazione complicata da segno dei numeri, modulo dei numeri Conversione da M&S a numero relativo Per effettuare la conversione si scorpora il numero in due parti: Il bit più significativo è decodificato come segno Gli N-1 N 1 bit meno significativi sono decodificati come valore assoluto del numero relativo 10

Esempio Convertire nei corrispondenti numeri relativi le seguenti rappresentazioni modulo e segno: 10100 01110. 10100: 1: bit di segno = numero negativo 0100: valore assoluto = 4 Il numero relativo corrispondente è -4 01110: 0: bit di segno = numero positivo 1110: valore assoluto = 14 Il numero relativo corrispondente vale +14.... vantaggi e svantaggi vantaggio: : coincide con la nostra usuale rappresentazione svantaggio: : richiede il trattamento separato di segno e modulo: algoritmi aritmetici più pesanti...... nei calcolatori, per ovviare agli svantaggi dell aritmetica della rappresentazione in segno e modulo, si adottano altre rappresentazioni... 11

Rappresentazione in complemento alla base Nella rappresentazione in complemento alla base si dà una diversa attribuzione dei pesi associati alle cifre che codificano il numero: Alla cifra più alta è associato un peso negativo Le cifre più basse hanno un peso positivo Rappresentazione in complemento a 1 Si aggiunge uno 0 a sinistra alla rappresentazione dei numeri positivi Per cambiare di segno si complementa il numerale bit a bit I numerali positivi iniziano per 0, i negativi per 1 Intervallo di rappresentazione con n bit: [-2[ n- 1 +1, +2 n- 1-1] È una notazione posizionale: Pesi delle cifre: (-2( n- 1 +1) 2 n- 2... 2 1 2 0 Esempio n=4 bit intervallo di rappresentazione [-7,[ +7] 5 = 0101-55 = 1010 (-7+2)( Complementare = cambiare segno Doppia rappresentazione dello 0 12

Rappresentazione in complemento a 2 I numeri positivi hanno la stessa rappresentazione che in complemento a 1 I negativi si ottengono sommando 1 alla loro rappresentazione in complemento a 1 Intervallo di rappresentazione con n bit: [-2[ n- 1, +2 n- 1-1] Pesi delle cifre: -2 n-1 2 n- 2... 2 1 2 0 Consideriamo il numero espresso in base 2 (n-2) x 0 x (n-1) 1) x (n Il bit più significativo x n-1 assume peso negativo 2 n-1 Quindi, il valore di un numero N espresso in complemento a 2 è Intervallo più esteso ma asimmetrico Una sola rappresentazione dello 0 Rappresentazione in complemento a 2 Esempio: n=4 bit intervallo [-8,[ +7] 5 10 =0101 c2-5 10 = 1011 C2 (-8+2+1) Prima regola pratica per complementare (calcolare la rappresentazione di -X X a partire da quella di X): Effettuare il complemento di ogni bit di X ed aggiungere 1 Esempio (4 bit) +6 10 =0110 C2 Complemento di tutti i bit: 1001 Aggiungere 1: 1001+1 = 1010 C2 = -6 10 Seconda regola pratica per complementare: Partendo da destra si lasciano invariati tutti i bit fino al primo 1 compreso, e poi si complementa bit a bit - Gli ultimi 2 bit rimangono invariati: 10 - Complementare gli altri 2 bit: 1010 C2 = -66 10 13

Conversione decimale-binario (CP1 e CP2) Abbiamo già visto come fare se il numero X è positivo. Se il numero X è negativo: Determinare il numero minimo di bit da usare (n min ) Convertire il numero positivo corrispondente in notazione a n min bit Complementare (a 1 o 2) il numerale così ottenuto Esempio: convertire (-347)( 10 in CP2 2 8 = 256 < 347 < 512 = 2 9 intervallo con n bit: [-2[ n-1,+2 n-1-1] pertanto n min =10 +347 in notazione a 10 bit: -512 256 128 64 32 16 8 4 2 1 0 1 0 1 0 1 1 0 1 1 complementando a 2: - 512 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 0 1 0 1 In alternativa per CP2: Si converte in binario 2 n-1 +X Si mette il bit più significativo a 1 Perché? -1 2 n-1 + (2 n-1 +X) = X Somma in complemento a due Dati due numeri X e Y in complemento a due su N bit, la somma X+Y si calcola sommando aritmeticamente tutti i bit degli addendi, compreso quello di segno. L eventuale carry oltre il bit di segno viene tralasciato. 14

Esempio Calcolare (- ( 7) + 10 in complemento a due su 5 bit. - 7= 11001 10 = 01010 1 1 1 0 0 1 + 0 1 0 1 0 0 0 0 1 1 Tralasciando il carry,, il risultato vale 00011 = +3. Differenza in complemento a due Si può procedere in due modi: Ci si riconduce al caso della somma trasformando la differenza nella somma del primo numero con l opposto del secondo. Si esegue la differenza usando la stessa tecnica utilizzata per la codifica in binario puro, sottraendo aritmeticamente tutti i bit degli addendi, compreso quello di segno. 15

Esempio Calcolare (-7)( - 4 in complemento a due su 5 bit. Si opera come se l operazione fosse (-7)( + (-4).( -77 = 11001-44 = 11100 1 1 1 0 0 1 + 1 1 1 0 0 1 0 1 0 1 Tralasciando il carry, il risultato vale 10101 = -11. Overflow in complemento a 2 Si può verificare un overflow nell operazione tra due numeri in complemento a due quando si effettua la somma di due numeri concordi o la differenza tra due numeri discordi. Si ha overflow quando il segno del risultato è diverso dal segno dei due addendi. 16

Esempio di overflow Calcolare (-12) + (-6) in complemento a due su 5 bit: (-12) = 10100 (-6) = 11010 1 1 0 1 0 0 + 1 1 0 1 0 0 1 1 1 0 Si ha carry oltre il bit di segno, che viene ignorato. Il bit di segno è diverso da quello degli addendi, dunque la somma ha prodotto overflow. 17