Rappresentazione dei Dati
|
|
|
- Giuseppina Sartori
- 9 anni fa
- Visualizzazioni
Transcript
1 Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2
2 Codifica Binaria Tutti i dati usati dagli elaboratori sono in forma codificata Tutti basati soltanto su due cifre e (bit) Perche? Gli strumenti di elaborazione e memorizzazione a cui un calcolatore ha accesso hanno solo DUE stati Interruttori (Inseriti o no) Transistors (Conduttivi o no) Nastri Magnetici (Magnetizzati in un verso o un altro) Schede perforate (Fori in determinati punti o no) Quindi.. Non è necessario un alto grado di precisione Economici Robusti 3 Valore Posizionale Il valore di ogni cifra dipende dalla sua posizione nel numero Unità,decine,centinaia.. Nei numeri decimali,2,4,8,.. Nei numeri Binari Decimi,centesimi.. Nelle frazioni decimali Metà, quarti.. Nelle frazioni binarie La cifra più (meno) significativa è la cifra con il valore posizionale più alto (basso) 4
3 Sia b la base della rapprentazione (2 in binario, in decimale, ecc.) La cifra in posizione k (da destra verso sinistra) vale b k- Sia n il numero di cifre a disposizione. Quanti numeri diversi possiamo codificare? Risposta: b n, perché? 5 Numeri e Basi DECIMALI (base ) (34) = x 2 + 3x + 4x BINARI (base 2) () 2 = x2 2 + x2 + x2 = (5) OTTALE (base 8) (647) 8 = 6x x8 + 7x8 = (423) ESADECIMALE (base 6) (23) 6 = x x6 + 3x6 = (29) 6
4 Numeri Ottali e Esadecimali I numeri binari sono molto lunghi rispetto alla quantità di info che rappresentano Le rappresentazioni ottali e esadecimali sono versioni compatte di numeri binari OTTALE (a tre a tre) ( ) 2 = (472) 8 ESADECIMALE (a quattro a quattro) ( ) 2 = (33A) 6 N.B. Le cifre da a 5 si rappresentano con le lettere A,,F 7 Somma di due numeri La somma di due numeri (in qualunque base, per un numero fissato di cifre) si può calcolare x colonne decimale Riporto Addendo Addendo = Somma 7 3 binaria Riporto Addendo Addendo 2. + = OVERFLOW Somma 8
5 Da decimale a Binario Numero /2 Resto (42) = 8 4 () (26) 8 (8E) 6 9 Rappresentazione degli interi Generalmente (dipende dalla macchina e dal contesto d'uso) un intero viene rappresentato in 4 byte = 32 bit Quindi si posso rappresentare 2 32 (circa 4 miliardi e 3 milioni) interi diversi Si potrebbero quindi rappresentare tutti gli interi non negativi nell'intervallo [, ] E i negativi?
6 Interi Negativi Vedremo due tipi di codifica per i negativi.bit e segno 2.Complemento a due Bit e Segno Riserviamo il primo bit per il segno: = positivo = negativo. I numeri non negativi rappresentabili sono quindi quelli rappresentabili con n- bit, cioe` nell'intervallo [,2 n- -] Anche le più semplici operazioni come la somma sono difficili da eseguire!! + = <> 2
7 Complemento a due Il bit più significativo rappresenta un valore negativo I valori posizionali x un intero a 6 bit sono: Rappr. Numero positivi negativi 3 Complemento a due (cambio di segno) Facilissimo: Inversione bit + 9 -> -9 9 in complemento a 2 Inverti i bit Somma -23 -> in complemento a 2 Inverti i bit Somma 4
8 Complemento a due (sottrazione) Facile: somma al minuendo il sottraendo cambiato di segno Memorizza 4 2-4=2+(-4) Inverti i bit Somma, ottieni -4 Memorizza 2 Somma -4 e Complemento a due (overflow) Facile riconoscere (e correggere) l overflow Esempio : 4+9 Riporto = Somma 23 OK 6
9 Complemento a due (overflow) Facile riconoscere (e correggere) l overflow Esempio 2: 25+8 Riporto = Somma -2 NO 7 Complemento a due (overflow) Facile riconoscere (e correggere) l overflow Esempio 3: 7+(-3) Riporto = Somma 4 OK 8
10 Complemento a due (overflow) Facile riconoscere (e correggere) l overflow Esempio 4: (-8)+(-3) Riporto = Somma 23 NO 9 Errore di Overflow Una somma di due numeri di n cifre in complemento a 2 dà (errore di) overflow se e solo se i riporti in colonna n e n + sono diversi 2
11 Numeri decimali Cosa significa una parte decimale binaria? = moltiplicare per 2 significa spostare il punto di un posto a destra dividere per 2 significa spostare il punto di un posto a sinistra
12 Il trucchetto di spostare la virgola x moltiplicare o dividere un numero funziona anche per le altre basi! Esempi: (.234) / = (.234) (.234) x = (.234) Ma anche ( ) 8 / 6 = ( ) 8 E così via.. 23 Se abbiamo un valore decimale in base, ad esempio.99, come troviamo la sua rappresentazione in base 2? Ragioniamo come segue: Supponiamo che (.99) =.b b 2 b 3...b k (in binario) allora 2.99 =.98 = b.b 2...b k quindi b è e.98 è rappresentato da.b 2...b k 24
13 Quindi: per trovare la rappresentazione binaria di un valore decimale lo moltiplichiamo per 2 e osserviamo la cifra che appare nella parte intera. Esempio: (.59) = (?) =.8.8 2= = =.44.44x2=.88.88x2=.76 E così via dipende da quanti bit abbiamo a disposizione! (.59) =(...) 2 N.B. Mi posso fermare se moltiplicando per 2 ottengo una parte decimale = 25 Esempio Completo (8.59) = (? ) 2 (8) = () 2 (.59) = (...) 2 Ne deriva che: (8.59) = (...) 2 26
14 Osserviamo che spostando la virgola di h posti verso destra nella rappresentazione decimale di un numero N moltiplichiamo N per h mentre spostandola verso sinistra di h posti N viene diviso per h. Ad esempio: 8.59 = 8.59 =.859 rappresentazione normalizzata = = = Si parla di rappresentazione in virgola mobile. Quindi in virgola mobile lo stesso numero decimale ha piu' rappresentazioni possibili. Solitamente si usa la rappresentazione normalizzata in cui la parte intera ha un'unica cifra decimale diversa da zero. 27 La rappresentazione in virgola mobile per i numeri binari e` del tutto analoga. Ad esempio:. =. 2 =. 2 =. 2 2 Rappresentazione normalizzata =. 2 - = 2-2 La rappresentazione in virgola mobile normalizzata ha sempre parte intera uguale a. 28
15 Per registrare un numero reale x in memoria si adotta la rappresentazione binaria in virgola mobile normalizzata: x = 2 e.b - b -2 b -3 b -4 Naturalmente non e` possibile memorizzare la sequenza possibilmente infinita di bit della parte frazionaria ma si memorizzano soltanto i primi bit. Anche per l esponente si utilizzano un numero finito di bit. Generalmente per rappresentare un numero reale si usano 4 byte nel modo seguente: +/- e 8 e 7 e 6 e 5 e 4 e 3 e 2 e b - b -2 b -3 b -4 b -2 b -22 b -23 bit 8 bit 23 bit 29 +/- e 8 e 7 e 6 e 5 e 4 e 3 e 2 e b - b -2 b -3 b -4 b -2 b -22 b -23 SEGNO ESPONENTE MANTISSA Il primo bit rappresenta il segno del numero: per +, per -. Gli otto bit successivi si usano per rappresentare l esponente esp. Dovendo rappresentare sia esponenti positivi che negativi la sequenza di bit e 8 e 7 e 6 e 5 e 4 e 3 e 2 e e` la rappresentazione binaria di esp Con 8 bit si rappresentano gli interi compresi tra e 255. Siccome le sequenze di bit () e (255) sono riservate (problema che non consideriamo), gli esponenti rappresentabili sono quelli per cui esp ovvero -26 esp 27. 3
16 Rappresentazione dei decimali 8 23 s e m Quindi si rappresenta il numero N = s 2 e-27.m 3 = 3 esp = 3-27 = 4. Quindi 2 4. =. = =
17 Esercizio: Fornire la rappresentazione in virgola mobile normalizzata del valore.543 avendo a disposizione 8 bit per l esponente e 8 per la mantissa. () Rappresentiamo in binario = = () 2 (2) Rappresentiamo.543 in binario = = =.344 Quindi:.543 = (...) = = = (3) Riassumendo:.543 = (...) 2 (4) Rappresentazione normalizzata. 2 3 =. (5) Rappresentiamo l'esponente = 3 3 = () 2 QUINDI: 34
18 Quanti decimali si rappresentano? Con 32 bit possiamo rappresentare al piu' 2 32 valori distinti. La novità è che questi valori non sono distribuiti uniformemente come gli interi, bensì sono maggiormente concentrati tra - e e si diradano sempre più allontanandosi dallo 35 Distribuzione disuniforme Supponiamo 2 bit per la mantissa e 2 per l esponente (-,,,2)
19 Caratteri In generale viene usata la codifica standard ASCII: ogni carattere è rappresentato in byte e quindi possiamo rappresentare 256 caratteri. Questo basta per: a...z A...Z...9., ;: () etc + caratteri di controllo: Enter, Tab, etc 37 Tabella ASCII 38
20 Tabella ASCII 39 Wide characters Nel caso sia necessario rappresentare più caratteri, per esempio caratteri usati in lingue asiatiche, esiste la codifica UNICODE che associa 2 byte ad ogni carattere. In questo modo si possono rappresentare caratteri diversi 4
21 Qualche esercizio (tipo esame..). Per il numero (47) dare la versione binaria, ottale e esadecimale. E in base 7 come sarebbe? 2. Eseguire la somma (234) +(45), nelle tre basi viste a lezione 3. Usando la rappresentazione in complemento a 2, quali valori interi si possono rappresentare con 5 bit? 4. Supponiamo di rappresentare gli interi in complemento a due su 5 bit. Mostrare le seguenti somme e sottrazioni: -5-8 e +8. Vi e` overflow? E il risultato e corretto? 5. Fornire la rappresentazione in virgola mobile normalizzata dei valori.5,.5 e 4.64 avendo a disposizione bit per il segno, 8 bit per l esponente e 8 per la mantissa 4
La codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
Informatica Generale 02 - Rappresentazione numeri razionali
Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione
Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
Rappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
La codifica dei numeri
La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza
La codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
Somma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
Codifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
Rappresentazione binaria
Rappresentazione binaria Per informazione intendiamo tutto quello che viene manipolato da un calcolatore: numeri (naturali, interi, reali,... ) caratteri immagini suoni programmi... La più piccola unità
La codifica binaria. Fondamenti di Informatica. Daniele Loiacono
La codifica binaria Fondamenti di Informatica Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore Introduzione q Il calcolatore usa internamente
Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano
Rappresentazione di dati: numerazione binaria Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze
Rappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
Codifica. Rappresentazione di numeri in memoria
Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per
La codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
Sistemi di Numerazione Binaria
Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto
Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti
modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: 1Byte = 8 bit 1K (KiB: KibiByte)
Aritmetica dei Calcolatori
Aritmetica dei Calcolatori Luca Abeni March 5, 2014 Codifica dei Numeri Interi k bit codificano 2 k simboli/valori/numeri... Si usa la base 2 per codificare i numeri Numeri naturali n N: valori da 0 a
I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1
I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma
Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2
Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 Si utilizza un alfabeto binario A = {0,1}, dove 0 corrisponde al numero zero, e 1 corrisponde
Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario I Codici I Sistemi di numerazione
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre
Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: n 1Byte = 8 bit n 1K (KiB:
La codifica binaria. Fondamenti di Informatica. Daniele Loiacono
La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni
Aritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
La codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
Rappresentazione numeri reali
Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero
Rappresentazione dei Numeri
Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare
04 Aritmetica del calcolatore
Aritmetica del calcolatore Numeri a precisione finita - con un numero finito di cifre - non godono della proprietà di chiusura - le violazioni creano due situazioni distinte: - overflow - underflow Pagina
Rappresentazione dei numeri
Rappresentazione dei numeri Così come per qualsiasi altro tipo di dato, anche i numeri, per essere immagazzinati nella memoria di un calcolatore, devono essere codificati, cioè tradotti in sequenze di
Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Convertire in formato decimale i seguenti numeri binari:
Esercizi Convertire in formato decimale i seguenti numeri binari: 11, 101011, 1100, 111111, 10101010 Convertire in formato decimale i seguenti numeri ottali: 12, 23, 345, 333, 560 Convertire in formato
Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due
Rappresentazione degli interi Notazione in complemento a 2 n bit per la notazione Nella realta n=32 Per comodita noi supponiamo n=4 Numeri positivi 0 si rappresenta con 4 zeri 0000 1 0001, 2 0010 e cosi
Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi
Esercizi Convertire in formato decimale i seguenti numeri binari: 11, 101011, 1100, 111111, 10101010 Convertire in formato decimale i seguenti numeri ottali: 12, 23, 345, 333, 560 Convertire in formato
Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)
Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?
La codifica dei caratteri di un testo
La codifica dei caratteri di un testo L obiettivo è quello di comunicare con il calcolatore usando il nostro linguaggio. Dobbiamo rappresentare le lettere dell alfabeto L insieme di simboli comunemente
