Rappresentazione dell’informazione nel calcolatore.

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
I numeri naturali ….. Definizione e caratteristiche
Informatica Generale Susanna Pelagatti
Rappresentazione di Numeri Reali
Rappresentazioni numeriche
Sistemi di numerazione
Le Informazioni e la loro Rappresentazione nei calcolatori
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Sistemi di numerazione e codici
Rappresentazione dei dati e codifica delle informazioni
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Informatica 3 Codifica binaria.
Corso di Informatica (Programmazione)
Corso di Informatica per Giurisprudenza
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazioni numeriche
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
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.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
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
Rappresentazione dell’informazione
RAPPRESENTAZIONE DELL'INFORMAZIONE
CONVERSIONE NUMERI INTERI CON COMPLEMENTO A DUE. I computer di oggi effettuano ogni tipo di operazione numerica, ma le prime ALU degli anni 50 erano in.
Sistemi di numerazione
Richiami di matematica DALLE POTENZE ALLA NOTAZIONE SCIENTIFICA
Rappresentazione Dati Codificare informazioni nel Computer
Informatica Docente : Jeremy Sproston Orario: Gruppo 1: (gli studenti i cui cognomi iniziano con la lettera A fino alla lettera L (inclusi)) Lunedì ore.
ARCHITETTURA DEI SISTEMI ELETTRONICI
Capitolo 2 Architettura di un calcolatore
Informatica Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Rappresentazione della Informazione
RETI LOGICHE Daniele Manzaroli
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
Rappresentazione dell’informazione
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
La Rappresentazione dell’Informazione
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
La codifica dei numeri.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Rappresentazione dei dati. RAPPRESENTAZIONE DEI DATI LA FUNZIONE INTERO INTERO: R --> I y = [r] il massimo intero non maggiore di r r =
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
Codifica binaria dell’informazione
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 24.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
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.
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni.
Rappresentazione delle informazioni negli elaboratori L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
IL NUMERO …qualche idea…..
Transcript della presentazione:

Rappresentazione dell’informazione nel calcolatore. Alessandro Bozzola MATERIALE TRATTO DA: http://webcen.usr.dsi.unimi.it/infogenerale/ http://www.lta.disco.unimib.it/didattica/InfoGen/

Introduzione A livello di circuiti logici i calcolatori memorizzano (e rappresentano) valori basati su bit, gestiscono quindi zeri(Vlow)e uni(Vhigh). Poiché a noi interessa memorizzare ed elaborare numeri, parole, immagini, suoni, ecc. Occorre progettare un sistema che consenta di rappresentare le informazioni interessanti in termini di bit (forma binaria).

Introduzione (cont…) Vedremo quindi come si rappresentano le informazioni fondamentali: numeri e caratteri. Daremo dei cenni sulla rappresentazione di informazioni più sofisticate e complesse.

La rappresentazione dei numeri Cominciamo con i numeri interi non negativi (numeri naturali + lo zero) Gli interi non negativi sono rappresentabili con diverse notazioni: additiva romana: I, II, III, IV, V, .... IX, X, XI... posizionale indo-araba: 1, 2, .. 10, 11, ... 100, Il valore dei numeri dipende da regole specifiche della rappresentazione.

Notazioni posizionali Ogni simbolo contribuisce con un valore che dipende dalla sua posizione e dalla base di rappresentazione B. Ad esempio, dato il numero (dk dk-1...d1 d0) in una base qualsiasi B, troviamo il valore espresso in base 10 dalla formula:

Notazione posizionale decimale Per noi è consuetudine rappresentare i numeri con la notazione posizionale decimale, che utilizza le 10 cifre 0,1,..9 (numeri arabici). Un numero è rappresentato da una sequenza di cifre, posizionale significa che il valore di ogni cifra dipende dalla sua posizione all'interno della sequenza, ad esempio:

E' possibile scegliere il numero di cifre differenti che si usano in una notazione posizionale, e tale numero prende il nome di base; in ogni numero decimale (in base dieci) la cifra all'estrema destra ha il valore minore (cifra meno significativa) , quella all'estrema sinistra il valore maggiore (cifra più significativa). In genere si usano anche numerazione binaria in base 2, ottale in base 8, esadecimale in base 16.

Altre basi Ogni numero è esprimibile in modo univoco in una qualunque base: Stringa Base Calcolo del valore Valore in base 10 13 4 4 * 1 + 3 7 13 8 8 * 1 + 3 11 13 10 10 * 1 + 3 13 16 16 * 1 + 3 19 Basi di particolare interesse: Ø base B=2 ® due sole cifre: 0 e 1 Ø base B=8 ® otto cifre: 0, 1, 2, 3, 4, 5, 6, 7 Ø base B=10 ® dieci cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Ø base B=16 ® sedici cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Conversioni tra basi differenti: Algoritmo delle divisioni successive Dato un numero N in base dieci, per convertirlo in una stringa di caratteri che ne rappresenti la codifica in base B si opera per divisioni successive, calcolando i caratteri della stringa dal meno significativo al più significativo.

Esempi, da base 10 a base 2: Convertiamo (11)10 in base 2. N resti 11 1 5 1 2 0 0 1 1011 = 1*2^3+0*2^2+1*2^1+1*2^0 = = 8 + 2 + 1 = 11

Esempio da base 10 a 16 e viceversa: Conversione del numero 44 in base 16 44:16 = 2 2:16 = 0 Quindi 4410 corrisponde a 2C16. con resto 12 dove 1210corrisponde a C16 con resto 2 Verifica: 2 * 16^1 + C * 16^0 = 32 + 12 = (44)10

Un altro esempio: Convertiamo (49)10 in base 2.. N resti 49 1 24 0 49 1 24 0 12 0 6 0 3 1 1 1 110001 = 1+16+32 = 49

Vediamone un altro: Convertiamo (57)10 in base 4. N resti 57 1 14 2 57 1 14 2 3 3 321 = 3*4^2+2*4^1+1*4^0 = = 3*16+2*4+1 = = 48 + 8 +1 = 57

Conversione tra ottale, esadecimale e binario I sistemi di numerazione ottale ed esadecimale hanno la proprietà di convertirsi in modo facile in binario e viceversa. Infatti, una cifra ottale richiede esattamente tre cifre binarie per la sua rappresentazione, mentre una cifra esadecimale richiede quattro cifre binarie per la sua rappresentazione.

Per esempio, il numero ottale 1238 si converte facilmente in 0010100112: il numero esadecimale 3C16 si converte facilmente in 001111002

Tabella riassuntiva: conversione rapida binario-ottale, binario-esadecimale:

Conversioni per numeri frazionari: E' importante far notare che per i numeri interi si usa il metodo appena descritto delle divisioni successive; per i numeri frazionari si usa per la parte a sinistra della virgola (parte intera) il metodo dellle divisioni successive e per la parte a destra dellla virgola (parte frazionaria) il metodo delle moltiplicazioni successive. Con tale metodo si prende come cifra binaria la parte intera e si moltiplica per 2 la parte decimale fino a quando la parte frazionaria è diventata nulla o quando si sia trovato un numero sufficiente di cifre binarie.

Metodo delle moltiplicazioni successive: Conversione del numero 0.65625 in base 2 0.65625*2 = 1.31250 con resto 1 0.31250*2 = 0.62500 con resto 0 0.62500*2 = 1.250 con resto 1 0.250*2 = 0.500 con resto 0 0.5*2 = 1.00 con resto 1 Il risultato è: 0.6562510 = 101012

Operazioni nel sistema di numerazione binario: Somma: 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0 con riporto 1 Per la somma di due numeri positivi di lunghezza K possono essere necessari K+1 bit. Se sono disponibili solo K cifre si genera un errore di overflow (o trabocco).

Esempio di somma binaria: 1 1 0 1 12+ 0 0 1 1 02 = -------------- 1 0 0 0 0 12 Verifica: 2710 + 610 = 3310 1000012 = 1*2^5 + 1* 2^0 = 1* 32 + 1 * 1 = 3310 overflow

Prodotto: 0*0 = 0 0*1 = 0 1*0 = 0 1*1 = 1 Esempio: 0*0 = 0 0*1 = 0 1*0 = 0 1*1 = 1 Esempio: A =10112=1110 B = 11012=1310 1011* 1101= ----------- 1011 + 00000 +    101100 +  1011000  -------------- 10001111

Sottrazione: 0 - 0 = 0 1 - 1 = 0 1 - 0 = 0 0 - 1 = 0 con prestito di uno. Esempio: A =11002= 1210 B =00112= 310 11002 – 00112= --------- 1001

Divisione: La classica domanda "quante volte il dividendo sta in una certa parte del divisore", può solo avere due risposte: 0, cioè non ci sta, oppure 1, cioè ci sta, perché è più piccolo. Esempio: A =100101102=15010 B =11002 = 1210 100101102 : 11002 = ?

Procedimento della divisione: - Si cerca la prima parte del dividendo che sia maggiore del divisore. Tale prima parte è nel nostro caso 10010, e dobbiamo scrivere 1 al quoziente, calcolando il resto come differenza 10010-1100. Si ottiene 110… 10010110 : 1100 1100 ----------- ------- 1 110

Procedimento della divisione, cont: …a questo punto "si abbassa" la cifra successiva del dividendo, cioè 1, ottenendo 1101. Il divisore 1100 "sta" nel 1101, ovviamente una volta e con resto 1… 10010110 : 1100 1100 ----------- ------- 1 1 1101 1100 ------- 1

Procedimento della divisione, cont: …il quoziente diviene 11 e abbassando la cifra successiva 1 si ha 11. Questa volta il divisore "non sta" in questa parte del dividendo e quindi si aggiunge uno 0 al quoziente… 10010110 : 1100 1100 ----------- ------- 1 1 0 1101 1100 ------- 11

Procedimento della divisione, cont: …si prosegue abbassando la cifra successiva. Questo è l'ultimo 0, che dà 110 nel dividendo. Di nuovo il 1100 non sta nel 110 e perciò si aggiunge un altro 0 al quoziente. 10010110 : 1100 1100 ----------- ------- 1 1 0 0 1101 1100 ------- 110 Non essendoci più cifre da calare ciò significa che l'operazione è finita: quindi il quoziente è 11002=1210, il resto è 1102=610.

Rappresentazione dei numeri nel calcolatore: Nella rappresentazione dei numeri attraverso il sistema binario sorgono due problemi: rappresentazione dei numeri troppo grandi o troppo piccoli. E' possibile rappresentare solo i numeri compresi in un intervallo finito, compreso tra la soglia minima di underflow e la soglia massima di overflow

Rappresentazione dei numeri periodici e dei numeri razionali. E' possibile rappresentare solo una parte, ovviamente la più significativa incorrendo in un errore di troncamento

Rappresentazione dei numeri con segno. Se utilizziamo 16 bit per codificare un numero avremo a disposizione 65536 combinazioni. Possiamo: rappresentare i numeri naturali da 0 a 65535, rappresentare i numeri relativi (con segno) da -32768 a +32767. Come facciamo?

1 -> numero negativo; 0 -> numero positivo Considerando 16 bit, il primo bit di questi, detto bit più significativo (MSB Most Significant Bit) a disposizione viene utilizzato per il segno: 1 -> numero negativo; 0 -> numero positivo Allora se il primo bit é 0, i rimanenti 15 bit rappresentano un numero positivo da 0 a 32767 Se il primo bit é 1 i rimanenti 15 bit li possiamo usare per rappresentare 32768 numeri negativi