Codifica binaria dei numeri

Documenti analoghi
Sistemi di Numerazione Binaria NB.1

codifica in virgola mobile (floating point)

Informatica Generale 02 - Rappresentazione numeri razionali

2.12 Esercizi risolti

Alessandro Pellegrini

Elementi di informatica

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Informatica. Rappresentazione dei numeri Numerazione binaria

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Codifica dei numeri negativi

2. Codifica dell informazione

Rappresentazione dei numeri in un calcolatore

Rappresentazione binaria

Sistemi di Numerazione

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Codifica binaria dei numeri relativi

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Logica e codifica binaria dell informazione

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

ESEMPIO 1: eseguire il complemento a 10 di 765

Fondamenti di Informatica

Materiale di approfondimento: numeri interi relativi in complemento a uno

Floating Point N = M BE. Notazione in virgola mobile. base. esempi = =

Laboratorio di Informatica

Operazioni binarie fondamentali

La codifica delle informazioni

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Sistemi di numerazione: generalità

Elementi di informatica

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

4 3 4 = 4 x x x 10 0 aaa

Rappresentazione numeri in virgola mobile

4. Operazioni aritmetiche con i numeri binari

Aritmetica dei Calcolatori 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

LA NOTAZIONE SCIENTIFICA

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA

Sommario. Addizione naturale

Rappresentazione delle informazioni

Rappresentazione dell informazione Codifica Binaria

SISTEMI DI NUMERAZIONE E CODICI

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

ESTRAZIONE DI RADICE

Esercitazione Informatica I AA Nicola Paoletti

I sistemi di numerazione

Numeri interi posi-vi e nega-vi

Rappresentazione di informazioni con un alfabeto finito

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

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

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Informazione analogica e digitale

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Esercizi. Esercizi sulla codifica (Parte 1) Elementi di Informatica e Programmazione. Soluzioni degli esercizi Esercizio 2

Codifica binaria e algebra di Boole

Elementi di Informatica e Programmazione

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

Introduzione. Rappresentazione di numeri in macchina, condizion

la scienza della rappresentazione e della elaborazione dell informazione

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

Codifica binaria dell Informazione Aritmetica del Calcolatore

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

I SISTEMI DI NUMERAZIONE

L'informazione e la sua codifica

Codifica dei numeri. Rappresentazione dell informazione

Corso di Calcolo Numerico

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

la scienza della rappresentazione e della elaborazione dell informazione

Definizioni iniziali

SISTEMI DI NUMERAZIONE

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA

Introduzione. Università degli studi di Cassino. Ing. Saverio De Vito Tel.:

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Indice. 1 Rappresentazione dei dati... 3

LA NUMERAZIONE BINARIA

Parte 1. Vettori di bit - AA. 2012/13 1.1

Rappresentazione binaria

Codifica. Rappresentazione di numeri in memoria

Pre Test Matematica

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Aritmetica: operazioni ed espressioni

Rappresentazione binaria dei numeri negativi

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore.

Dispense di Informatica per l ITG Valadier

1. LE GRANDEZZE FISICHE

1 Sistema additivo e sistema posizionale

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Comparatori. Comparatori di uguaglianza

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

Indovina il numero pensato

Transcript:

Codifica binaria dei numeri Caso più semplice: in modo posizionale (spesso detto codifica binaria tout court) Esempio con numero naturale: con 8 bit 39 = Codifica in virgola fissa dei numeri float: si alloca un numero prefissato per parte intera e frazionaria Esempio: due byte, uno per parte intera, uno per frazionaria: 39.345 =. conversioni di numeri rappresentati con codifica binaria (posizionale) - base decimale binaria - per la parte intera e frazionaria parte intera da decimale a binaria: serie di divisioni per, si prendono i resti 39 9 9 4 da binaria a decimale: moltiplicare cifre per potenze di : ) = + + + 3 + 4 + 5 = ) = 39) = + + 4 + + + 3 = 39 39) = ) - -

parte frazionaria da decimale a binaria: serie di moltiplicazioni per, si prende parte intera dei risultati.345 X.69.69 X.38.38 X.76.76 X.5.5 X.4.4 X.8.8 X.6 NB: il processo può non terminare: si ottiene un approssimazione da binaria a decimale: moltiplicare cifre per potenze negative di :.) = - + -4 + -5 = =.5 +.65 +.35 =.34375.) =.34375).345).) - -

Somma tra numeri naturali con codifica binaria posizionale: esempio con 4 bit 9 + => + 5 = => = 4 => + => + 7 = => = 8 => () riporto Immaginiamo numeri naturali binari disposti in circolo valore del numero codificato = angolo orario sulla verticale Somma tra numeri rappresentabile come somma tra angoli Superando valore massimo rappresentabile si ricomincia il giro generando un riporto 4 5 + => + 3 3 7 = => = 8 => () 5 4-3 - 9 8 7 6

Rappresentazione dei numeri interi (relativi) Codifica in modulo e segno: con N bit - un bit dedicato al segno (e.g., per valori, per valori ) - N bit dedicati al modulo, codificato con codifica pesata dei numeri naturali rappresentabili N valori diversi, perché ha due codifiche diverse: da N a + N - piccolo spreco di una configurazione - Ostacola realizzazione circuitale delle operazioni algebriche (non lo mostriamo) Codifica in complemento a Date N cifre binarie, disponibili N configurazioni distinte: di queste N- per valori, N- valori < con N bit rappresentati tutti i valori P, con - N- P N- - esempio, N = 4 6 configurazioni distinte, valori : da a N- - cioè da a 7 valori < : da - a - N- cioè da - a -8 N=6 da -3 a +3 N=7 da -64 a +63 N=8 da -8 a +7 N= da -5 a + 5 N=6 da -3.768 a +3.767 N=3 da -... a +... - 4 -

La rappresentazione in complemento a su N bit: codifica in binario posizionale P P in cpl = P su N bit primo bit = P < P in cpl = ( N P ) su N bit primo bit = proprietà vantaggiose: - un solo valore per lo, nessuna configurazione sprecata dalla codifica - il primo bit indica il segno del numero codifica in binario (posizionale) della parte mancante a raggiungere N : complemento, come in insiemistica = parte mancante a NB: bit più significativo (a sinistra) indica il segno ( valore, valore < ) ma non è il segno: cambiandolo non si ottiene il numero opposto - 5 -

Esempio: codifica su 4 bit, -8 P 7 - - -3 3-4 4-5 -6-7 -8 7 6 5 In cpl facile ottenere codifica di un numero negativo da quella del suo opposto Esempio: codifica in complemento a del numero 56 con bit si trasforma 56 in binario naturale: 56 = 56 (in binario naturale) 56 8 4 7 3 oppure, in alternativa, passando attraverso il complemento a (fare la sottrazione da, equivale a inversione di tutte le cifre), e aggiungere. In modo equivalente: inverti tutti i bit della rappresentazione in binario del valore assoluto, poi partendo da destra inverti tutti i bit fino al primo zero incluso => + - 6 -

In cpl operazione di somma si realizza come nella rappresentazione binaria posizionale Ma occorre ignorare il riporto e fare attenzione ai casi in cui si ottiene valore fuori dall intervallo rappresentabile Questo succede quando ) addendi dello stesso segno e inoltre ) segno del risultato segno degli addendi Si introduce BIT DI OVERFLOW, = se e solo se valgono le condizioni ) e ). Tutto questo permette di realizzare la sottrazione mediante addizione del minuendo e dell opposto del sottraendo Si può usare un solo circuito per addizione e sottrazione, a patto di disporre di un (peraltro semplicissimo) circuito per ottenere il numero opposto (codificato in cpl) di uno dato Esempi: N=4 bit tra () bit di riporto, tra [] bit di overflow -3 => -4 => -7 => []() -3 => +6 => +3 => []() -4-3 -5 - -6 - -7-8 7 6 3 5 4 + => +5 => +7 => []() -3 => -7 => - => []() -8 => +6 => - => []() +3 => +6 => +9 => []() overflow, risultato errato - 7 - overflow, risultato errato

codifica in virgola mobile (floating point) Del tutto simile a cosiddetta notazione scientifica o esponenziale Per rappresentare in modo compatto numeri molto piccoli o molto grandi e.g. massa dell elettrone è 9.95 3 Kg separate parti che descrivono - ordine di grandezza (potenza di una data base: -3 ) - precisione con cui è noto il valore (cifre significative: 9.95) Ogni numero razionale R esprimibile come segue R = (±) N b E N numero, con parte intera e parte frazionaria b - base b > E - esponente intero con segno (i.e., positivo, nullo o negativo) tipicamente N ed E sono rappresentati separatamente, con gruppi di bit distinti A parità di precisione, numero di cifre dopo la virgola può cambiare giocando sull esponente e.g.:,6789345 5 = 6,789345 3-8 -

Numero in virgola mobile detto normalizzato se nella parte N virgola posta subito a dx della prima cifra e.g.:,6789345 5 NON normalizzato 6,789345 3 NORMALIZZATO Forma normalizzata vantaggiosa se numero cifre (i.e., bit) disponibili per rappresentare N è limitato permette di evitare zeri iniziali inutili e.g.: avendo a disposizione per N solo cifre si ottiene,67893 5 oppure 6,789345 3 la seconda chiaramente più vantaggiosa: tutte le cifre sono significative Standard IEEE 754-985 Quattro diversi formati, differiscono nel numero totale dei bit utilizzati Quelli più diffusi: - precisione singola: 3 bit - precisione doppia 64 bit - precisione tripla 8 bit Rappresentazione divisa in tre parti: Si assume base b = per il segno ( bit) per N rappresentazione detta mantissa per esponente E rappresentazione detta caratteristica - 9 -

Dettaglio della codifica in precisione singola Segno caratteristica (8 bit) mantissa (3 bit) Codifica complicata dalla necessità di rappresentare alcuni valori particolari - NaN (Not a Number, risultato di operazioni non ammesse, e.g., /) - + e - (e.g. in matlab 3/=inf) - Il valore (meno banale di quanto sembri ) Soluzione: usate due configurazioni estreme della caratteristica e per questi valori speciali Rappresentazione del segno dell esponente: 54 configurazioni da a considerate rappresentazioni dei numeri da a 54 (codifica posizionale) Si fa in modo che le 54 configurazioni (valori da a 54) rappresentino intervallo di valori dell esponente (quasi) esattamente centrati sullo usando Notazione eccesso K : la caratteristica memorizza il valore dell esponente aumentato di K Se caratteristica ha k bit allora si sceglie K = k- - e.g., con k=8 si memorizza esponente aumentato di K = 7 = 7 - -

caratteristica = 5 esponente rappresentato = +3 caratteristica = 8 esponente rappresentato = -47 caratteristica = 3 esponente rappresentato = +5 N rappresentato in forma normalizzata. NB: in binario solo due cifre cifra prima della virgola sempre lasciata sottintesa i 3 bit della mantissa rappresentano solo la parte frazionaria di N in forma normalizzata Casi particolari NaN caratteristica 55 e mantissa qualsivoglia (NB: molte possibili rappresentazioni) + bit di segno, caratteristica 55 (), mantissa () - bit di segno, caratteristica 55 (), mantissa () bit di segno qss, caratteristica, mantissa ( due rappresentazioni, come se ci fossero + e -) - -

Quadro riassuntivo c m m NB v = v = (-) S -6.m c 54 v = (-) S c-7.m 54 55 v=+ s= s= v=- v = NaN Rappresentazione di numeri molto piccoli in valore assoluto La forma normalizzata ( prima della virgola) impedisce rappresentazione valori v con v < -7 con c= si assume.m invece di.m così si possono usare anche i bit della mantissa per rimpicciolire È quasi come dividere per per avere continuità nei valori rappresentati si moltiplica per -6 - -

Esempio di rappresentazione in precisione singola v = 4.6875 =. =. 5 Si ha s = ( bit) c = 5 + K = 5 + 7 = 3 = (8 bit) m = (3 bit) rappresentazione è giustapposizione di s, c, ed m: - 3 -

PROPRIETÀ FONDAMENTALE DELLA CODIFICA NB. I circa 4 miliardi di configurazioni (usati 3 bit) consentono di coprire un campo di valori molto ampio grazie alla distribuzione non uniforme per numeri piccoli in valore assoluto valori rappresentati sono «fitti», per numeri grandi in valore assoluto valori rappresentati sono «diradati» Approssimativamente gli intervalli tra valori contigui sono: per valori di l intervallo è di un millesimo per valori di milioni l intervallo è di un unità per valori di miliardi l intervallo è di mille ecc. - +? Perché? Si può dare una semplice spiegazione, basata sul numero dei bit allocati per mantissa - 4 -