Sommario. Sistema binario. I Sistemi di numerazione. Codifica ASCII. Valori Numerici Negativi. Valori Numerici Reali. Posizionali e non posizionali

Documenti analoghi
Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Rappresentazione dell informazione

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Fondamenti di informatica

Rappresentazione dell informazione

Rappresentazione dell informazione

Codifica di informazioni numeriche

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

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

Aritmetica dei Calcolatori Elettronici

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Rappresentazione dell informazione

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Sistemi di Numerazione Binaria

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Informatica e Bioinformatica: Rappresentazione dell Informazione

Codifica binaria. Rappresentazioni medianti basi diverse

Rappresentazione dell Informazione

Rappresentazione dei Numeri

Corso di Fondamenti di Informatica Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico 2011/2012 Francesco Tortorella

Rappresentazione dei dati

Rappresentazione dei dati

Codifica dell informazione numerica

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Sistemi di Elaborazione delle Informazioni

Rappresentazione dell informazione

Operazioni artimetiche

Codifica dell Informazione per il Calcolo Scientifico

Codifica dell informazione

Rappresentazione binaria

= = = Codifica dell informazione

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria a i b i. a m a m-1... a 0. a -1 a a -k

Rappresentazione dell informazione

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

= = =

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

Lezione 2. Rappresentazione dell informazione

Sistemi di Numerazione Binaria

Codifica dell informazione numerica

Corso di Architettura degli Elaboratori

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

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

Lezione 2. Rappresentazione dell informazione

Rappresentazione binaria

Lezione 2. Rappresentazione dell informazione

Richiami sulla rappresentazione dei numeri

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Rappresentazione dell informazione

Rappresentazione dell informazione

Rappresentazione dell Informazione. Emilio Di Giacomo e Walter Didimo

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

La Rappresentazione dell Informazione

Rappresentazione dei Dati

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dei cara5eri: 17/09/12. L si occupa di rappresentare ed elaborare informazioni come:

Introduzione. Introduzione

Rappresentazione dell informazione

Informatica Generale 02 - Rappresentazione numeri razionali

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

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

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

Rappresentazione dei numeri

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Corso di Architettura degli Elaboratori

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione

Rappresentazione dei numeri reali in un calcolatore

I.4 Rappresentazione dell informazione

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

Rappresentazione virgola mobile (Floating Point)

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Codifica dell informazione

Rappresentazione numeri reali

Lezione 3. I numeri relativi

Rappresentazione dei numeri reali

Rappresentazione dell informazione

La codifica. dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

Codifica dell informazione numerica

Rappresentazione di numeri reali

Rappresentazione dei numeri

Codifica. Rappresentazione di numeri in memoria

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

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

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

Rappresentazione dell informazione

La codifica. dell informazione

Rappresentazione dei Numeri in Virgola Mobile Valeria Cardellini

Rappresentazione dell Informazione

La codifica binaria. Informatica B. Daniele Loiacono

Transcript:

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 Posizionali e non posizionali Sistema binario Conversione decimale-binario Conversione binario-decimale Sistema Esadecimale Aritmetica binaria Addizione Sottrazione Errori Valori Numerici Negativi Modulo e segno Complemento a Due Valori Numerici Reali Virgola Fissa Virgola Mobile Codifica ASCII 2/31

I Codici Si definisce codice un insieme di elementi (C*) generati con simboli appartenenti ad un determinato insieme C seguendo determinate regole Es: l insieme delle parole di una lingua i cui simbolisono le lettere dell alfabeto l insieme dei numeri Naturali decimali Gli elaboratori rappresentano le informazioni utilizzando solo 2 simboli: 0, 1 In generale: con Ksimboli a disposizione e data nla lunghezza delle parole si possono rappresentare N=K n parole 3/31 I Sistemi di numerazione Posizionale e non Posizionale (1/2) Il valore di un numero può essere espresso con diverse rappresentazioni non posizionali la numerazione romana Simboli: I, V, X, L, C, D,M; Regola: un simbolo posto alla sinistra di uno che ne rappresenta un valore più grande è sottratto a quest ultimo altrimenti viene sommato; es: DCLXXIII = 500+100+50+10+10+1+1+1=673 Posizionali viene associato un pesoa ciascuna posizioneall interno della rappresentazione del numero; il valore del numero è ottenuto facendo la sommadei prodottidi ciascuna cifra per il relativo peso; es: la numerazione decimale 4/31

I Sistemi di numerazione Posizionale e non Posizionale (2/2) Nei sistemi posizionali, regola generale sia rla base della numerazione un numero Npuò essere rappresentato nelle seguenti forme: N = d n-1 d n-2 d n-3 d n-4 d n-5 d 0, d -1 d -2 d -3 d -m N = d n-1 r n-1 + d n-2 r n-2 + d n-3 r n-3 + +d 0 + d -1 r -1 + d -2 r -2 + +d -m r -m Esempio N = -m i=n-1 d i r i 0 d (r-1) nel sistema decimaler = 10, i simboli sono {0,1,2,3,4,5,6,7,8,9} 678 = 6*10 2 +7*10 1 +8*10 0 =600+70+8 5/31 Sistema Binario Gli elaboratori utilizzano un sistema di numerazione binario Richiede solo 2 simboli {0,1} BIT (binarydigit)= cifra binaria (unità di informazione fondamentale) Un bit può assumere come valori: 0/1 le informazioni sono organizzate in sequenze ordinate di bit 8 bit = 1 byte 1024 byte = 1 KB (kilobyte) 1024 KB = 1 MB (Megabyte) 1024 MB = 1 GB (Gigabyte) 6/31

Sistema Binario Conversione decimale-binario(1/4) Metodo delle divisioni successive (parte intera) L'algoritmo si basa sul calcolo iterativo del quoziente intero diviso la base. Il restodella divisione fornisce una cifra del numero nella nuova base a partire dalla cifra meno significativa. 1. Inizio; 2. Dividere il numero decimale per la base 3. Il resto della divisione è una cifra nella nuova base a partire dalla cifra meno significativa ; 4. Il quoziente della divisione intera è il nuovo dividendo; 5. Se quoziente 0 torna al punto 2; 6. Fine. 7/31 Sistema Binario Conversione decimale-binario(2/4) Esempio: (25) 10 = (?) 2 Dv B Q R 25 2 12 1 12 2 6 0 6 2 3 0 3 2 1 1 (25) 10 =(11001) 2 1 2 0 1 Dv B Q R Dividendo Base Quoziente Resto 8/31

Sistema Binario Conversione decimale-binario(3/4) parte frazionaria si moltiplica la parte frazionariaper la basedi arrivo; la parte intera del risultatofornisce una cifra nella nuova base a partire dalla cifra più significativa. 1. Inizio; 2. Moltiplicare la parte frazionaria del numero decimale per la base di arrivo; 3. Separare parte intera e parte frazionaria; 4. La parte intera dà una cifra nella nuova base a partire dalla cifra più significativa ; 5. Se non ottengo 0 o non raggiungo la precisione richiesta torna al punto 2; 6. Fine. 9/31 Sistema Binario Conversione decimale-binario(4/4) Esempio: (0.3125) 10 =(?) 2 0.3125 * 2 = 0.625 bit 0 0.625 *2 = 1.25 bit 1 0.25 *2 = 0.5 bit 0 0.5 *2 = 1.0 bit 1 0 *2 = 0 (0.3125) 10 =(.0101) 2 10/31

Sistema Binario Conversione binario-decimale Ricordando la formula (110101) 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +0*2 1 +1*2 0 = (53) 10 Bit più significativo Bit meno significativo 11/31 Sistema Esadecimale Proprietà: 16 simboli 10 numerici {0,1,2,3,4,5,6,7,8,9} 6 letterali {A,B,C,D,E,F} Esempio: (603) 10 = (??) 16 Dv B Q R 603 16 37 11 37 16 2 5 2 16 0 2 (603) 10 =(25B) 16 =H25B Dv B Q R Dividendo Base Quoziente Resto 12/31

Aritmetica Binaria Addizione (1/2) 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= Carryo Riporto 13/31 Aritmetica Binaria Addizione (2/2) Esempio: (30) 10 = (11110) 2 (20) 10 = (10100) 2 1 1 1 1 1 1 1 0 + 1 0 1 0 0 1 1 0 0 1 0 14/31

Aritmetica Binaria Sottrazione(1/2) Segue le stesse regole della sottrazione tra due numeri decimali: due numeri sono incolonnati uno sopra l altro. si effettua la sottrazione delle cifre di pari peso. Tabella di Sottrazione Ai B Si Pi 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Ai -Bi = Si Pi = Borrowo Prestito 15/31 Aritmetica Binaria Sottrazione(2/2) Esempio (41) 10 = (101001) 2 (15) 10 = (001111) 2 0 1 10/0 1 10 1 0 1 0 0 1-0 0 1 1 1 1= 0 1 1 0 1 0 16/31

Aritmetica Binaria Errori In un elaboratore possono generarsi degli errori perché non è possibile rappresentare tutti gli infiniti numeri In particolare con nbitil maxvalore rappresentabile è 2 n -1 Es: 176 + 10110000 + 84= 01010100 = 260 00000100 = 4 ERRORE Il risultato è completamente errato perché è andato perso il contributo più significativo Questo perché abbiamo a disposizione solo nbit, il bit di riporto che si genera viene perduto: Overflow 17/31 Valori Numerici Negativi Modulo e Segno(1/2) Se si utilizzano n bit per rappresentare Nvalori decimali 0 N 2 n -1 Es: n = 8 bit 0 N 255 Come possiamo rappresentare i valori numerici negativi? Si potrebbe pensare di riservare il bit più significativo al segno ed attribuire il valore 0 per i numeri positivi e 1 per quelli negativi; n = 8bit -127 N +127 18/31

Valori Numerici Negativi Modulo e Segno(2/2) Esempio: n = 8 (+127) 10= (01111111) 2 (-127) 10= (11111111) 2 (+12) 10= (00001100) 2 Problema: (+0) 10 = (00000000) 2 (-0) 10 = (10000000) 2 19/31 Valori Numerici Negativi Complemento a due (1/3) Si inverte il valore di tutti i bit e poi si aggiunge uno al numero ottenuto, se rimane un resto lo si scarta Utilizza un bit per il segno: 0 (valori positivi) 1(valori negativi) n-1 bit per il modulo intervallo [-2 n-1, +2 n-1-1], Nel caso di 8 bit [-128,+127] Unica rappresentazione dello zero Esempio: Convertiamo (-12) 10 in complemento a 2 Converto 12 in base 2: = (00001100) 2 Inverto i valori dei Bit = C 1 (11110011) Aggiungo un 1 al complemento a 1 11110011+ 1 = 111110100 (complemento a 2) 20/31

Valori Numerici Negativi Complemento a due (2/3) Esempio: calcolare: ( -1-5) -1+ 11 111 1 11+ (-1 in complemento a 2) -5 11111011 (-5 in complemento a 2) -6 Carry(1) 11111010 (-6 in complemento a 2) Esempio: calcolare: (23 12) 23+ 00010111+ -12 11110100(-12 in complemento a 2) 11 Carry (1)00001011 21/31 Valori Numerici Negativi Complemento a due (3/3) Esempio: calcolare: (-65-65) (riporto generato) -65 10111111+ (-65 in complemento a 2) -65 10111111 (-65 in complemento a 2) -130 (1) 01111110 (+126 errore!! Oltre -128) Esempio: calcolare:65 + 65 (riporto ricevuto) 65+ 01000001+ 65 01000001 130 10000010 (-126 errore!! Oltre 127) Considerazione Occorre che il bit più significativo non sia coinvolto in nessun riporto (ne generandolo ne ricevendolo), oppure che lo sia totalmente (ossia lo riceva e lo generi) 22/31

Valori Numerici Reali Virgola Fissa Con un numero finito di cifre è solo possibile rappresentare un numero reale che approssima con un certo errore il numero reale dato. Notazione in virgola fissa Dedica parte delle cifre alla parte intera e le altre alla parte frazionaria Se degli n bit utilizzati per scrivere i numeri binari nel formato a virgola fissa, q bit sono usati per la parte frazionaria Esempio: XXX.YY 23/31 Valori Numerici Reali Rappresentazione in Eccesso In questa rappresentazione, il bit di segno non è contemplato si procede definendo un bias, un valore numerico con il quale traslare il numero desiderato. Consideriamo di nuovo il numero (+12) 10 in una notazione 10 ad 8 bit e scegliamo, la notazione in eccesso 128, dove 128 è il bias. (128 + (+12) = 140) 10 (10001100) 2 Il numero negativo (-12)10 si ottiene in modo analogo: (128 + (-12) = 116) 10 (01110100) 2 Anche in questo caso esiste una sola rappresentazione per lo zero 24/31

Valori Numerici Reali Virgola mobile (1/5) Numeri reali rappresentati tramite una coppia di numeri <m,e> x = m * b e m= mantissao frazione(determina la precisione) e= esponenteo caratteristica Esempi: 3,14 = 0,314 x 10 1 0,000001 = 0,1 x 10-5 1941 = 0,1941 x 10 4 25/31 Valori Numerici Reali Virgola mobile (2/5) Occorrerà prevedere spazio per tre quantità nella locazione di bit che rappresenta il numero segno esponente mantissa Problema: il numero +2.99792 x 10 5 ed il numero +299.792 x 10 3 sono indicati in modo diverso ma rappresentano lo stesso numero: questo crea potenziali problemi nella manipolazione e nel confronto fra numeri reali. Soluzione: forma normalizzata 26/31

Valori Numerici Reali Virgola mobile (3/5) Per ottenere una rappresentazione univoca di un numero in virgola mobile si adotta la seguente notazione: dato un numero reale, si sposta la virgola fino a portarla a sinistra dell ultima cifra diversa da zero; si riaggiusta l esponente per riequilibrare l ordine di grandezza. Consideriamo il numero +234.2678 x 10 4 Normalizzato: 234.2678 x 10 4 = 23.42678 x 10 5 = 2.342678 x 10 6 = 0.2342678 x 10 7 27/31 Valori Numerici Reali Virgola mobile (4/5) Rappresentiamo il numero reale (358) 10 in virgola mogile, supponendo di utilizzare 16 bit 1 per il segno,3 per l'esponente, 12 per la mantissa Forma Normalizzata: 0.358*10 3 l esponente lo mettiamo in forma binaria mediante la rappresentazione in eccesso con bias4 Esponente = ( 3 + 4 )=(7) 10 = (111) 2 Mantissa Normalizzata = (358) 10 = (101100110) 2 Segno = 0 (positivo) Rappresentazione in Floatingpoint 0111000101100110 0 111 000101100110 Segno Esponente Mantissa Normalizzata 28/31

Valori Numerici Reali Virgola mobile (5/5) Lo standard IEEE 754 Questo standard indica due formati possibili per la rappresentazione binaria di un numero reale 29/31 Codifica ASCII (1/2) Per realizzare la corrispondenza tra il linguaggio umano e quello della macchina si è convenuto di utilizzare raggruppamenti di 8 bit (1 byte) carattere alfanumerico cifra binaria A 01000001 1 00110001 il codice universalmente adottato come standard per l informatica è l'ascii (American Standard Code for Information Interchange). si possono rappresentare 128caratteri alfanumerici 7 bit. il codice ASCII estesoche permette di rappresentare di 256 caratteri, (128 di base con le varianti relative alle diverse lingue + i caratteri speciali e grafici) 8 Bit. Caratteristica comune ai due codici è la presenza dei primi 31 caratteri, chiamati caratteri di controllo, che producono un'azione e non sono stampabili 30/31

Codifica ASCII (1/2) Per i caratteri, nei moderni sistemi operativi è utilizzata la codifica UNICODE a 16 bit. simboli rappresentabili è 65536 31/31