Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Algebra di Boole Casazza Andrea 3EA I.I.S. Maserati.
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Sistemi di numerazione
Rappresentazione di Numeri Reali
Rappresentazioni dei numeri non interi A. Ferrari.
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Sistemi di numerazione e codici
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Esercitazioni su rappresentazione dei numeri e aritmetica
Analisi e sintesi di circuiti combinatori
Algebra di Boole ed elementi di logica
Algebra di Boole ed elementi di logica
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Informatica 3 Codifica binaria.
A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Errore di rappresentazioneErrore di rappresentazione Fattore di scalaFattore di scala Rappresentazione.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
Sistemi di Numerazione
Corso di Informatica (Programmazione)
Corso di Informatica (Programmazione)
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazione dei numeri reali
Codifiche Interne Codifiche Interne
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
4) Rappresentazione dei dati in memoria
L'algebra di Boole e le sue applicazioni
Indice: L’algebra di Boole Applicazione dell’algebra di Boole
Il sistema binario.
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
RAPPRESENTAZIONE DELL’INFORMAZIONE
ARITMETICA BINARIA.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
RAPPRESENTAZIONE DELL'INFORMAZIONE
Dalle potenze ai numeri binari
Richiami di matematica DALLE POTENZE ALLA NOTAZIONE SCIENTIFICA
Process synchronization
Rappresentazione dell’Informazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata.
Algebra di Boole.
Rappresentazione dell’informazione nel calcolatore.
Uso di tabelle logaritmiche
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione dell'informazione
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Rappresentazione dell’informazione
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione dell’Informazione
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.
Rappresentazione dell'informazione
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Esercizio n o 3 Si realizzi una calcolatrice a 32 bit con interfaccia “normale” (decimale) con LabView, utilizzando SOLAMENTE: –convertitore decimale (input)
I sistemi di numerazione
Logica di base e Conversione analogico-digitale Lezione 3 / Prima parte Gaetano Arena e.mail: 1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
DEFINIZIONE. La potenza di un numero è il prodotto di tanti fattori uguali a quel numero detto base, quanti ne indica l’esponente. La potenza di un numero.
Transcript della presentazione:

Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in quanto il numero di cifre disponibili è minore di quelle necessarie per rappresentare il numero (es. i due addendi di una somma possono essere rappresentabili ma il risultato no) Es. (interi senza segno su 8 bit) =280 Con 8 bit rappresento al max. il numero 256. Underflow indica che il risultato è troppo piccolo per essere rappresentato. Si ha ad es. nella divisione fra interi quando il dividendo è minore del divisore. Il risultato in questo caso è zero. Es. 25/50 = 0.5, ma io posso rappresentare solo 0 o 1... Rappresentazione di Numeri Interi

Esempio 1 (overflow) Con 8 bit posso rappresentare: interi positivi da 0 a 255 interi con segno da -128 a +127 Supponiamo di essere nel primo caso e di avere = (255) = ? Ma ho solo 8 bit => il risultato delloperazione è 0! 1 1

Esempio 2 (overflow) Con 8 bit posso rappresentare: interi positivi da 0 a 255 interi con segno da -128 a +127 Supponiamo di essere nel secondo caso e di avere = (127) = ???? Ma è negativo! (-128)

Esempio (underflow) Supponiamo di lavorare con interi senza segno Eseguiamo 12 * Se eseguiamo prima la moltiplicazione 12 * 15 = /15 = 12 ok! Ma se eseguiamo prima la divisione 12/15 = 0 (non posso rappresentare numeri < 1) 0 * 15 = 0 ………

Rappresentazione di Numeri Reali Un numero reale è una grandezza continua e quindi è rappresentabile solo in modo approssimato. Esistono due forme per rappresentare un numero reale –Segno, parte intera, parte decimale (rappresentazione in virgola fissa) –Segno, mantissa, esponente (rappresentazione in virgola mobile)

Rappresentazione in virgola fissa (fixed-point) Utilizzando una rappresentazione su N bit si assume che la posizione della virgola sia fissa in un preciso punto allinterno della sequenza. Quindi si assegnano k bit per la parte intera e N-k bit per la parte decimale NB In una rappresentazione di tipo posizionale le cifre alla destra della virgola vengono moltiplicate per potenze negative della base Es. (5.75) 10 = 5* * *10 -2 (11.011) 2 = 1* * * * *2 -3

Conversione decimale-binario di numeri non interi La parte intera si converte col metodo delle divisioni successive Per la parte alla destra della virgola: –si moltiplica la parte a destra della virgola per 2 –si prende la parte intera del risultato come cifra utile –si ripetono i 2 passi precedenti finché la parte a destra della virgola non diventa 0 Es Sappiamo che (19) 10 = (10011) * 2 = * 2 = * 2 = 1.0 Quindi (19.375) 10 = ( ) 2

Rappresentazione in virgola mobile (floating-point) Ricorda la notazione scientifica dei numeri Si riescono a manipolare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione un insieme limitato di bit Nel formato esponenziale un numero N viene espresso nella seguente forma b base del sistema di numerazione m mantissa del numero e esponente

Rappresentazione in virgola mobile (floating-point) b è 2 (la base è prefissata) Quindi per rappresentare un numero reale basta rappresentare segno, mantissa ed esponente. La mantissa si suppone in virgola fissa con la virgola allinizio, seguita sempre da 1 (MSB). Es (decimale) = * 10 3 (binario) = * 2 2 Ricorda: moltiplicare (dividere) un numero per una potenza della base equivale a far scorrere a sinistra (destra) il numero di un numero di posizioni pari allesponente

Rappresentazione standard Su 32 bit –1 bit per segno del numero –8 bit per esponente (generalmente rappresentato in complemento a due) –23 bit per la parte frazionaria della mantissa

Approssimazioni nelle operazioni in floating point Quando la distanza fra la cifra più significativa e quella meno significativa è maggiore del numero di cifre a disposizione, il numero deve essere troncato: si trascurano cioè le cifre meno significative per le quali non cè spazio. Es. Supponendo di usare 4 bit per la mantissa =.1101 * = 0.1 * 2 0 Il risultato sarebbe * 2 4, ma ho solo 4 bit Quindi il risultato è * 2 4, e quindi =10!

Algebra di Boole Lalgebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere due soli valori: –Vero –Falso Lalgebra booleana nasce come tentativo di definire in forma algebrica processi di tipo logico-deduttivo Tuttavia, poiché di fatto lalgebra di Boole opera su variabili binarie (vero e falso sono i 2 soli simboli), i suoi operatori possono essere inclusi fra gli operatori dellalgebra binaria.

Algebra di Boole Sulle variabili booleane è possibile definire delle funzioni (dette funzioni booleane o logiche). Anchesse possono assumere i due soli valori vero e falso. Le funzioni booleane possono essere definite tramite le tabelle di verità. Una tabella di verità di una funzione di N variabili ha 2 N righe, una per ogni possibile combinazione delle variabili, e N+1 colonne, N per rappresentare la combinazione delle variabili più una per il valore corrispondente della funzione X2X X1X1 FX3X

Operatori ed Espressioni Booleane Lalgebra di Boole si basa su un insieme di operatori: –AND (indicato in genere dal simbolo × ) –OR (indicato in genere dal simbolo + ) –NOT (indicato in genere dal simbolo - ) –XOR (indicato in genere dal simbolo ) –NAND (indicato in genere dal simbolo ) –NOR (indicato in genere dal simbolo ) In realtà, qualunque funzione booleana può essere realizzata utilizzando 2 soli operatori: AND e NOT oppure OR e NOT

NOT - AND - OR 1 0 XNOT X1X1 ORX2X X1X1 ANDX2X Il risultato è 1 (Vero) se entrambe le variabili hanno valore 1 Il risultato è la negazione della variabile Il risultato è 1 (Vero) se almeno una delle variabili ha valore 1

X1X1 XORX2X X1X1 NANDX2X XOR - NAND - NOR X1X1 NORX2X Il risultato è 1 (Vero) se una sola delle due variabili ha valore 1 NAND (X 1, X 2 ) = NOT (AND (X 1,X 2 )) NOR (X 1, X 2 ) = NOT (OR (X 1, X 2 ))

Interpretazione logica degli operatori Se si ha una operazione del tipo: A * B (* indica una generica operazione), il risultato è vero se: *condizione ORA o B (o entrambe) sono vere ANDsia A che B sono vere XORA o B (ma non entrambe) sono vere