Codifica. Rappresentazione di numeri in memoria

Похожие документы
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

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

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012

Esercitazione n. 5. Rappresentazione dei numeri

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

Somma di numeri binari

Lezione 3. I numeri relativi

Sistemi di Numerazione Binaria

Calcolo numerico e programmazione Rappresentazione dei numeri

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

Esercitazione del 09/03/ Soluzioni

Informatica Generale 02 - Rappresentazione numeri razionali

Rappresentazione dei Numeri

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

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

La codifica. dell informazione

Rappresentazione e Codifica dell Informazione

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

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

Rappresentazione dei dati in memoria

Rappresentazione dei Dati

Rappresentazione dei numeri reali in un calcolatore

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

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Decimale, binaria,esadecimale

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Sistemi numerici: numeri in virgola mobile Esercizi risolti

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

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

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi

Numeri Frazionari. Numeri Frazionari

1.2f: Operazioni Binarie

Laboratorio di Informatica

codifica in virgola mobile (floating point)

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

04 Aritmetica del calcolatore

APPUNTI DI INFORMATICA

Esercitazione del 2/3/2010- Numeri binari e conversione

2.12 Esercizi risolti

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

Rappresentazione dell Informazione

Numeri binari Conversioni numeriche: decimali-binario Operazioni algebriche con numeri binari Russo ing. Saverio

Codifica binaria. Rappresentazioni medianti basi diverse

La codifica binaria. Informatica B. Daniele Loiacono

Informatica. Rappresentazione dei numeri Numerazione binaria

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Firmware Division & Floating pointer adder

CONVERSIONE DA DECIMALE A BINARIO

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

Esercizi di Analisi Numerica. Errori, Cambi di base, Numeri macchina, Aritmetica finita

Calcolo numerico e programmazione Rappresentazione dei numeri

Aritmetica dei Calcolatori Elettronici

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Rappresentazioni numeriche

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

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Floating-point: mantissa La mantissa e codicata in modulo e segno su 24 bit, la mantissa e sempre normalizzata nella forma 1:XXXXX si rappresenta solo

La codifica. dell informazione

I.4 Rappresentazione dell informazione

Codifica binaria dei numeri

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

Транскрипт:

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 una potenza crescente della base, mentre le cifre della parte a destra della virgola vengono moltiplicate per le potenze decrescenti della base ad esempio: 12.34 = 1 10 1 + 2 10 0 + 3 10-1 + 4 10-2 = 10 + 2 + 0.3 + 0.04

Trasformazione in decimale di numeri binari con la virgola Per trasformare in decimale il numero binario con la virgola: 101,011 lo si rappresenta in forma polinomiale: 1 2 2 + 0 2 1 + 1 2 0 + 0 2-1 + 1 2-2 + 1 2-3 4 + 0 + 1 + 0 + 0,25 + 0,125 Quindi: 101,011 = 5,375

Trasformazione in binario di numeri con la virgola La parte intera si trasforma in binario con le divisioni per 2, mentre la parte a destra della virgola si ottiene con moltiplicazioni per 2, la parte intera del prodotto è la cifra binaria da scegliere. Il procedimento termina quando la parte decimale diventa 0. (segue esempio)

Esempio di conversione in binario di numeri con la virgola Convertire in binario il numero: 6,75. La parte intera si converte in binario mediante divisioni successive per 2, ottenendo la rappresentazione di 6: 110. La parte decimale si moltiplica per 2: 0,75 2 = 1,5 -la parte intera 1 è la prima cifra dopo la virgola del numero binario. Si prosegue moltiplicando per 2 la parte decimale di 1,5, cioè 0,5: 0,5 2 = 1,0 -la parte intera 1 è la seconda cifra dopo la virgola del numero binario. Il procedimento termina perché la parte a destra della virgola è 0. Quindi: (6,75) 10 = (110,11) 2

(6) 10 = (110) 2 segue Numeri periodici La conversione in binario di un numero con la virgola potrebbe produrre un numero periodico, anche se il numero decimale non lo è. Si voglia convertire in binario il numero (6,6) 10 La parte intera si codifica mediante le divisioni per 2 e si trova che

Numeri periodici Per convertire in binario la parte frazionaria del numero, cioè 0.6, si segue il seguente procedimento: Parte decimale per 2 0,6 2 = 1,2 1 0,2 2 = 0,4 0 0,4 2 = 0,8 0 0,8 2 = 1,6 1 Cifra binaria dopo la virgola La parte intera di ogni prodotto è la prossima cifra dopo la virgola, mentre la parte decimale viene usata per svolgere un altro prodotto. Il processo si arresta quando si trova una parte decimale già ottenuta. Nell esempio precedente, la parte decimale 0.6 era già stata ottenuta. (6.6) 10 = (110,1001) 2

Rappresentazione dei numeri reali In qualsiasi base sia espresso, un numero si può rappresentare nella forma: ±M B ±E Dove: ±M è la mantissa con il segno B è la base ±E è l esponente con segno Ad esempio: 123,45 = 0,12345 10 3 0,12345 è la mantissa 3 è l esponente

Virgola mobile La rappresentazione del numero nel formato ±M B ±E prende il nome di Floating Point (virgola mobile). In particolare si preferisce la forma normalizzata, cioè quella in cui la parte intera è formata dalla sola cifra binaria 1 che, essendo nota, non viene memorizzata. Segno (1 bit) Esponente Mantissa Il segno può assumere i valori 0 per indicare il segno positivo della mantissa e 1 per indicare il segno negativo. L esponente viene codificato in eccesso 127.

Standard IEEE754 Segno Esponente Mantissa Nr. bit Nr. Byte 1 bit 8 bit 23 bit Singola precisione 32 4 1 bit 11 bit 52 bit Doppia precisione 64 8 1 bit 15 bit 64 bit Precisione Estesa 80 10 Nella rappresentazione in singola precisione, il valore nel campo esponente 127 indica l esponente 0 tra 1 e 126 indica l esponente negativo tra 128 e 255 indica l esponente positivo Sono previsti tre codici speciali Mantissa = 0 e esponente = FF infinito Mantissa 0 e esponente = FF NaN(Nota Number) Tutti i bit = 0 0.0

Standard IEEE754 -Esempio (25.75) 10 = (11001.11) 2 (11001.11) 2 in forma normalizzata è: 1.100111 2 4 Il bit 1 della parte intera non è memorizzato. L esponente 4, in codice eccesso 127 è e=131 (131) 10 = (1000 0011) 2 In singola precisione il numero si codifica: Segno Esponente Mantissa 0 1000 0011 100 1110 0000 0000 0000 0000 1 bit 8 bit 23 bit

Standard IEEE754 -Esempio Conversione da semplice precisione a decimale: Segno Esponente Mantissa 1 10000001 100011100000000 0000 0000 Il bit di segno indica che il numero è negativo. L esponente (1000 0001) 2 = 129, quindi l esponente è 129-127 = 2 La mantissa, in forma normalizzata, è 1.100 0111 Quindi il numero rappresentato è: 1.100 0111 2 2 = 110.00111 Corrispondente a (-6.21875) 10

Rappresentazione di numeri con segno Il bit più significativo (MSB) di un operando è interpretato come segno del numero. Si assume che se il MSB è 1 il numero è negativo 0 il numero è positivo I restanti bit sono rappresentati in complemento a 2. Non costituiscono il valore assoluto del numero.

Complemento a 10 L ipotesi fondamentale è il numero di cifre riservate a memorizzare il numero. Si supponga di avere a disposizione 2 cifre decimali. Si possono cioè memorizzare i numeri da 0 a 99. Si decide che i numeri da 0 a 49 siano positivi e i numeri da 50 a 99 siano negativi. Esempio: Sia A = 27 e B = 15. La sottrazione A-B viene ricondotta alla somma: A + (-B). Il numero negativo -B viene rappresentato in complemento a 100, cioè B=(100-15)=85. Infatti 85 rientra nell intervallo dei numeri negativi. Quindi la sottrazione A-B=A+(-B) è: 1 12 27 + 85 = Il risultato è 12. Il riporto si perde, perché, per ipotesi, si possono memorizzare solo 2 cifre.

Complemento a 2 Per rappresentare il sottraendo in complemento a 2: Si inverte ciascuna cifra binaria del numero Si aggiunge 1 Esempio: Si assuma di avere 4 bit a disposizione per memorizzare il numero. Il complemento a 2 del numero 0001 si ottiene: (invertire ciascun bit) 1110 (sommare 1) 1111 Il complemento a due di 0001 è 1111, che corrisponde alla codifica del numero negativo -1 in base 10

sottrazione Si abbiano a disposizione 4 bit. Si possono rappresentare 16 numeri. Gli 8 numeri da 0000 a 0111 si intendono positivi Gli 8 numeri da 1000 a 1111 si intendono negativi.

Esempio (risultato positivo) Sia A = 0101 (=5 10 ) e B = 0011 (=3 10 ) La codifica in complemento a 2 di 0011 è: (inversione delle cifre) 1100 (somma di 1) 1101 Quindi: 5+ 0101 + -3 1101 = 2 (1) 0010 La cifra (1) si perde, perché per ipotesi si hanno a disposizione solo 4 bit Il segno 0 del risultato indica che il numero è positivo

Esempio (risultato negativo) Sia A = 0011 (=3 10 ) e B = 0101 (=5 10 ) La codifica in complemento a 2 di 0101 è: (inversione delle cifre) 1010 (somma di 1) 1011 Quindi: 3+ 0011 + -5 1011 = -2 1110 Il bit del segno indica che il numero è negativo. Per trovare il valore assoluto del numero bisogna decodificare il valore 1110 in complemento a 2: (inversione delle cifre) 0001 (somma di 1) 0010. Il valore assoluto è 2