RAPPRESENTAZIONE DELLE INFORMAZIONI NEI CALCOLATORI

Похожие документы
Laboratorio di Informatica

RAPPRESENTAZIONE DELLE INFORMAZIONI

La codifica dell informazione

La codifica del testo

Informazione binaria: suoni, immagini, sequenze video

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica dell Informazione

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

Calcolatori: Rappresentazione dei Dati e Aritmetica binaria

Codifica dell Informazione

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

Sistemi di Elaborazione delle Informazioni 6 CFU

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1

La codifica binaria. Informatica B. Daniele Loiacono

Abilità Informatiche. capitoli 1-2. Prof. Fabio Calefato a.a Giurisprudenza

Calcolo numerico e programmazione Rappresentazione dei numeri

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

Sistemi di Numerazione Binaria

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

L'Informazione e la sua Codifica. Maurizio Palesi

Aritmetica dei Calcolatori Elettronici

Rappresentazione dei Numeri

Somma di numeri binari

Lezione 3. I numeri relativi

Codifica. Rappresentazione di numeri in memoria

Laboratorio di Informatica. delle informazioni. Pagina 1

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

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

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

Analogico vs digitale

L informazione e la sua codifica. Prof. Maurizio Naldi A.A. 2015/16

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

CODIFICA IMMAGINI IN BIANCO E NERO

Bit, Byte, Word e Codifica Dati

La codifica. dell informazione. Tipi di informazione

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

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

Esercizi su Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Informatica di Base - 6 c.f.u.

Appunti di informatica: la codifica dell'informazione

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato

Informatica (A-K) 3. Aritmetica del Computer

Numeri frazionari. La codifica dell informazione. Conversione da decimale a binario di un numero frazionario. Rappresentazione dei numeri reali

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

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

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

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

La Rappresentazione dell Informazione

Транскрипт:

u-1brappresentazioneinfo.doc RAPPRESENTAZIONE DELLE INFORMAZIONI NEI CALCOLATORI 1. sistemi di numerazione (binario) 2. le informazioni numeriche: - numeri naturali (senza segno - unsigned) - numeri interi (con segno signed) - numeri non interi 3. le informazioni non numeriche: - testo - immagini - suono - video 03/03/10 1

u-1brappresentazioneinfo.doc 1. sistemi di numerazione - sistema posizionale: ( C 2 C 1 C 0.C -1 C -2 ) b = = + C 2 b 2 + C 1 b 1 + C 0 b 0 + C -1 b -1 + C -2 b -2 + = Σ i C i b i - b è la base - C i sono le cifre del numero il sistema decimale e quello binario sono due esempi di sistemi posizionali: - sistema decimale: (b = 10; C i = {0,1,2,3,4,5,6,7,8,9}) Esempio: 492.17 10 = 4 10 2 + 9 10 1 + 2 10 0 + 1 10-1 + 7 10-2 - sistema binario: (b = 2; C i = {0,1}) Esempio: 1101.01 2 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2-1 + 1 2-2 03/03/10 2

u-1brappresentazioneinfo.doc Utilizzando un numero di cifre finito si può rappresentare solo una quantità finita di numeri: base n. di cifre quantità min max 10 N 10 N 0 10 N -1 10 4 10 4 0 9999 2 N 2 N 0 2 N -1 2 4 2 4 0 15 2 10 2 10 0 1023 2 20 2 20 0 (1024 1024) -1 2 30 2 30 0 (1024 1024 1024) -1 Alcune potenze intere di 2 sono divenute unità di misura nel sistema binario: 2 10 1024 1K 1.024 KILO 2 20 1024 x 2 10 1M 1.048.576 MEGA 2 30 1024 x 2 20 1G 1.073.741.824 GIGA 2 40 1024 x 2 30 1T ~1.1 x 10 12 TERA altre potenze intere di 2 per uso futuro: 2 50 1024 x 2 40 1P ~1.1 x 10 15 PETA 2 60 1024 x 2 50 1E ~1.2 x 10 18 EXA 2 70 1024 x 2 60 1Z ~1.2 x 10 21 ZETTA 2 80 1024 x 2 70 1Y ~1.2 x 10 24 YOTTA 03/03/10 3

u-1brappresentazioneinfo.doc 2. le informazioni numeriche 1. numeri naturali (senza segno - unsigned) caso semplice: con 4 bit (i primi 2 4 = 16 numeri, da 0 a 15) decimale binario 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 caso vero: con 32 bit (i primi 2 32 =4G numeri, da 0 a 2 32 1) decimale binario 0 00 00 1 00... 01 2 00... 10 2 31 2 01... 10 2 31 1 01... 11 2 31 10... 00 2 31 +1 10... 01 2 31 +2 10... 10 2 32 2 11... 10 2 32 1 11... 11 2. numeri interi (con segno signed) secondo la convenzione del COMPLEMENTO A DUE caso semplice: con 4 bit (2 4 = 16 numeri, da 8 a +7) decimale binario 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 7 1001 6 1010 5 1011 4 1100 3 1101 2 1110 1 1111 caso vero: con 32 bit (2 32 = 4G numeri, da 2 31 a +2 31 1) decimale binario 0 00 00 1 00... 01 2 00... 10 2 31 2 01... 10 2 31 1 01... 11 2 31 10... 00 2 31 +1 10... 01 2 31 +2 10... 10 2 11... 10 1 11... 11 03/03/10 4

Qualora, nel corso di una operazione aritmetica (ad es. di somma o sottrazione) tra numeri naturali da 32 bit, il risultato superi il valore massimo rappresentabile (2 32 1), oppure risulti inferiore a quello minimo (0), si ha ERRORE di OVERFLOW. Analogamente, qualora, nel corso di una operazione aritmetica (ad es. di somma o sottrazione) tra numeri interi da 32 bit, il risultato superi il valore massimo rappresentabile (2 31 1), o risulti inferiore a quello minimo ( 2 31 ), si ha ERRORE di OVERFLOW. 3. numeri non interi (secondo la convenzione FLOATING POINT standard IEEE 754) La versione base dello standard IEEE 754 per la rappresentazione floating point rappresenta i numeri non interi utilizzando 32 bit, nel seguente modo. Il numero R si esprime nella forma: R = M 2 E (notazione binaria scientifica, analoga a quella decimale comunemente usata: es. 123.4 = 1.234 10 2 ) e viene rappresentato dalle notazioni binarie di M (mantissa) e E (esponente). La mantissa M è normalizzata, cioè è posta nella forma M=1.xxx (la sua parte intera è sempre = 1). M è rappresentata con 24 bit: uno per il segno e 23 per la parte frazionaria xxx (non occorre rappresentare la parte intera in quanto questa è sempre = 1: così si risparmia un bit). I valori che può assumere M sono pertanto compresi tra il minimo 1.0 e il massimo 1.111 11 (23 bit a destra del punto che separa la parte intera da quella frazionaria). Tenendo conto del peso di questi bit, si ha quindi: 1 M 2-2 -23 E è un numero intero rappresentato con 8 bit secondo una notazione particolare, detta eccesso 127 (diversa dal complemento a due), e può assumere i valori compresi tra 127 e +128. I valori estremi ( 127 e +128) sono riservati per usi particolari, per cui si ha: 5

126 E =127 Pertanto, il modulo del numero più grande rappresentabile è pari a: MAX = 2-2 -23 2 127 3.4 10 10 +38 Mentre il modulo del numero più piccolo (diverso da zero) rappresentabile (con mantissa normalizzata) è pari a: MIN norm = 1 2-126 1.18 10 10-38 Con E = -127 (tutti 8 i bit uguali a 0) si ha la rappresentazione dello zero se la mantissa è nulla, di un numero con mantissa non normalizzata (cioè con parte intera uguale a 0) nel caso contrario (il valore di E usato in questo caso non è 127, ma 126). Pertanto il modulo del numero più piccolo (diverso da zero) rappresentabile (con mantissa non normalizzata) è pari a: MIN = 0.00..01 2-126 = 2-23 2-126 = 2-149 1.4 10 10-45 Con E = +128 (tutti 8 i bit uguali a 1) si ha la rappresentazione di un valore infinito se la mantissa è nulla, di un numero non valido (NAN not a number) nel caso contrario. Quando, nel corso di una operazione aritmetica tra numeri floating point, il modulo del risultato supera il valore MAX si ha ERRORE di OVERFLOW; quando invece è inferiore a MIN, si ha ERRORE di UNDERFLOW Vi sono infiniti numeri reali compresi tra questi estremi; ma i 32 bit disponibili consentono di rappresentarne, con esattezza, solo 2 32 = 4 G (anzi un po meno perché tutte le configurazioni con E = +128 non rappresentano numeri). Tutti gli altri potranno essere rappresentati, in modo approssimato, utilizzando, per ciascuno di essi, il numero rappresentabile più vicino. Con ciò si commette un errore, detto ERRORE di DISCRETIZZAZIONE (dovuto al passaggio dal valore continuo dei numeri reali, con cui si esprimono i valori delle grandezza fisiche del mondo esterno al calcolatore, al valore discreto del mondo digitale interno). L errore assoluto e a che si commette con questa approssimazione non supera la metà della distanza d tra due numeri rappresentabili consecutivi (R i ed R i+1 ), che può essere calcolata facilmente: 6

d = R i+1 R i = 1.xxx xx1 2 E 1.xxx xx0 2 E = 0.000 001 2 E = 2-23 2 E = 2 E -23 e a = d/2 = 2 E -24 L errore relativo è: e r = e a / R i = 2 E -24 / 1.xxx xx0 2 E 2-24 10-8 In termini decimali, la precisione corrispondente a questo errore relativo garantisce la correttezza di 7 cifre decimali significative (quindi una parte su 10 milioni). 7

3. le informazioni non numeriche RAPPRESENTAZIONE DI TESTI Lo standard ASCII (American Standard Code for Information Interchange): 7 bit, 2 7 = 128 simboli diversi: - (a z AZ 0 9!?,. ; : @ # $ ), - alcuni codici di controllo, (per controllare la visualizzazione di un testo (ad es. capo riga, salto di pagina,) o la sua trasmissione (ad es. XON, XOFF,) I 7 bit sono memorizzati e trasmessi all interno di un byte. Il bit in più può essere usato come bit di parità per rilevare eventuali errori di trasmissione. Estensione dello standard ASCII a 8 bit: 256 simboli; i 128 aggiuntivi consentono di rappresentare caratteri di alfabeti nazionali (ad es. à, è, è, ô,,,, ). Standard UNICODE (a 16 bit): 2 16 = 64K simboli per rappresentare i caratteri di tutte le principali lingue scritte del mondo. 8

CODICI ASCII (7 BIT) CODICIFICA ASCII ESTESA (8 BIT) 9

Esempio di rappresentazioni di stringhe in memoria (linguaggio assembly ARM) indirizzo contenuto direttive simboliche assembly 00000000 51756573.ASCII "Questa è una prova" 746120E8 20756E61 2070726F 7661 00000012 00.byte 0 @ fine stringa.data 00000000 41424344.ASCII "ABCDabcd" 61626364 00000008 00.byte 0 @ fine stringa 00000009 45464748.ASCII "EFGHefgh" 65666768 00000011 00.byte 0 @ fine stringa 00000012 31323334.ASCII "12345678" 35363738 0000001a 00.byte 0 @ fine stringa... 10

RAPPRESENTAZIONE DI IMMAGINI VETTORIALE: insieme di elementi geometrici (punti linee, cerchi, rettangoli, archi di curva, ). Metodo adatto per il disegno tecnico. Programmi di tipo DRAW (es. AUTOCAD) BIT MAP (raster): successione di punti, detti PIXEL (picture elements): righe e colonne di un area rettangolare (640x480, 1024x768, 1280x1024). bianco e nero: un bit per punto; a colori: - un byte per punto (256 colori) - 3 byte per punto (uno per colore fondamentale: RGB) 2 24 = 16M (TRUE COLOR). I programmi che elaborano immagini bit map sono detti di tipo PAINT (es. PAINTBRUSH) Un immagine bit map è di solito contenuta in un file di estensione.bmp Altri formati bit map talvolta usati sono: TIFF (file.tif) e PCX (file.pcx) usato da ZSOFT Paintbrush Un immagine vettoriale richiede meno spazio di memoria di una di tipo bitmap. 11

Immagine bit map: - 640x480 in bianco e nero: ~38Kbyte - 640x480 256 colori (o gray level): ~300Kbyte - 640x480 16M colori (true color): ~900Kbyte - 1024x768 16M colori (true color): ~2.3Mbyte - 1280x1024 16M colori (true color): ~3.9Mbyte Per ridurre lo spazio di memoria occupato da un immagine bit map (e il tempo necessario per il suo trasferimento lungo una linea di comunicazione) si adottano comunemente tecniche di COMPRESSIONE COMPRESSIONE LOSSLESS, - consente di ricostruire interamente l informazione originaria (es. PKZIP). - La riduzione di ingombro tipica è di circa il 50%. - Usata per la compressione di file contenenti programmi o dati da conservare inalterati. - I file contenenti informazioni compresse con PKZIP sono caratterizzati dall estensione.zip. - Un meccanismo di compressione lossless usato per le immagini più semplici (256 colori), tipo cartoon, è: GIF (file.gif). COMPRESSIONE LOSSY, - tollera la perdita di alcune informazioni e quindi non consente di ricostruire fedelmente l immagine originaria (es. JPEG). - Può arrivare a ridurre l ingombro al 5%. - Usata comunemente per memorizzare immagini a colori (16M, true color) di tipo fotografico. - I file contenenti immagini compresse con JPEG sono caratterizzati dall estensione.jpg. 12

RAPPRESENTAZIONE DEL SUONO Il segnale sonoro (andamento, nel tempo, della posizione di una particella d aria che vibra), tramite un trasduttore (microfono), viene trasformato in un segnale elettrico analogico (tensione elettrica che varia, nel tempo, in modo analogo al segnale sonoro). Il segnale elettrico analogico, tramite un convertitore A/D (analogico/digitale), viene campionato (ad es. alla frequenza di 10 KHz, cioè un campione ogni 100 μs) e il valore della tensione di ciascun campione viene trasformato in un numero binario da N bit; questo valore digitale viene prodotto dal convertitore A/D in un registro accessibile al processore. Il calcolatore provvede a leggere il valore di ciascun campione, prima che esso venga sostituito da quello successivo (entro 100 μs, nell esempio), e costruisce, nella sua memoria, una successione di valori digitali che rappresenta il segnale sonoro. Il segnale sonoro può essere ricostruito, a partire da questa rappresentazione interna al calcolatore, prelevando ad uno ad uno i valori digitali, inviandoli ad un convertitore D/A (digitale/analogico), che opera la conversione inversa rispetto a quella operata dall A/D, e inviando ad un trasduttore (altoparlante) il segnale elettrico analogico prodotto dal D/A. La rappresentazione è tanto più precisa (più fedele) quanto maggiore è la frequenza di campionamento e quanto maggiore è il numero N di bit dei campioni. 13

Per ricostruire interamente l informazione contenuta in un segnale elettrico composto da sinusoidi elementari di frequenza non superiore a f MAX, è sufficiente campionarlo con una frequenza pari almeno a 2 f MAX. L orecchio umano non percepisce suoni di frequenza superiore a circa 20 KHz. Pertanto la rappresentazione fedele di un brano sonoro può essere fatta campionandolo a 44 KHz (questa è la frequenza di campionamento usata nei CD musicali, nei quali il numero di bit dei campioni è pari a 16) Con questa modalità di campionamento (44 KHx, 16 bit) un secondo di audio occupa 44000 2 88 Kbyte; un brano audio che duri un minuto occupa 60 88 5 Mbyte; 10 Mbyte per 2 canali (stereo). L ingombro è notevole. Per ridurlo (e per ridurre, di conseguenza, anche il tempo necessario per la trasmissione del brano, ad esempio in rete) si usano tecniche di compressione: La compressione nel formato MP3 (file di estensione.mp3), recentemente affermatasi, consente di ridurre l ingombro di un fattore circa 5: un minuto di audio mp3 tipicamente occupa 1 Mbyte (in luogo dei 5 Mbyte originari). Con questa riduzione risulta fattibile la trasmissione via modem di un brano sonoro: la velocità di trasmissione richiesta è di 20 30 Kbyte al secondo. 14

RAPPRESENTAZIONE DEL VIDEO Un brano video è costituito da una sequenza di immagini. Ad esempio, nella televisione, sono presentati 25 fotogrammi al secondo, ciascuno costituito da 576 720 pixel. Per presentare sullo schermo di un calcolatore (di risoluzione non molto alta: 640 480 pixel) un minuto di un brano video a colori (true color: 3 byte per pixel), all interno di una finestra che occupi solo un trentaduesimo dello schermo, sono necessari: 640 480 (1/32) 3 25 60 43 Mbyte. Per poter gestire (memorizzare e trasmettere) un brano video è indispensabile ricorrere alla compressione. Lo standard di compressione video più diffuso è MPEG (file di estensione.mpg), che tipicamente consente di ridurre l ingombro di un fattore 20, per cui un minuto di video MPEG potrebbe occupare 2.5 Mbyte. Altre tecniche di compressione utilizzate sono: AVI (file di estensione.avi), della Microsoft; QUICKTIME (file di estensione.mov) della Apple. 15