Somma di numeri binari

Похожие документы
La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Informatica Generale 02 - Rappresentazione numeri razionali

Codifica. Rappresentazione di numeri in memoria

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

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

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

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

Rappresentazione dei Dati

Calcolatori: Rappresentazione dei Dati e Aritmetica binaria

Rappresentazione numeri reali

Rappresentazione binaria

La codifica. dell informazione

Rappresentazione dei Numeri

LA CODIFICA DELL INFORMAZIONE

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

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

Calcolo numerico e programmazione Rappresentazione dei numeri

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

La codifica. dell informazione

Rappresentazione dell Informazione

1.2f: Operazioni Binarie

Lezione 3. I numeri relativi

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

La codifica dei caratteri di un testo

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

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

La codifica dei numeri

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Rappresentazione in virgola mobile Barbara Masucci

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

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Транскрипт:

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 Informatica: Codifica Binaria dell Informazione 2 Cifre necessarie per rappresentare numero Sia dato un numero naturale. Qual e il minimo numero di cifre necessarie a rappresentare? Date cifre in base, posso distinguere tra casi diversi. Considerando valori numerici NATURALI, posso rappresentare tutti i valori tali che Devo allora trovare un intero tale che: Il minimo numero di cifre e :

Fondamenti di Informatica: Codifica Binaria dell Informazione 3 Cifre necessarie per rappresentare numero Come calcolo?. Pertanto: Segue che (trunc = troncamento alla parte intera)

Fondamenti di Informatica: Codifica Binaria dell Informazione 4 Esempi 1. Quanti bit sono necessari a rappresentare il valore 24062? trunc(14.55) = 14 Numero bit necessari: Infatti:

Numero bit necessari: Fondamenti di Informatica: Codifica Binaria dell Informazione 5 Esempi 2. Quanti bit sono necessari a rappresentare il valore 65536? Infatti: e 65535!, cioe posso rappresentare tutti i numeri compresi tra 0 3. Quanti bit sono necessari a rappresentare il valore 65535? trunc(15.99)=15 Numero bit necessari:

Fondamenti di Informatica: Codifica Binaria dell Informazione 6 Rappresentare valori numerici nel calcolatore RAM composta da celle Ogni SOTTOCELLA contiene un bit (0 o 1) DIMENSIONE DELLA CELLA (parola): numero di BIT che puo contenere DIMENSIONE DELLA CELLA e fissata Tipica dimensione delle parole: 8, 16, 32, 64 BIT Come rappresento i valori numerici nel calcolatore?

Fondamenti di Informatica: Codifica Binaria dell Informazione 7 Rappresentare valori numerici nel calcolatore Supponiamo di avere celle da 8 bit = 1 byte Che valori possiamo rappresentare? 255 Quindi: riusciamo a rappresentare tutti i numeri naturali da 0 a PROBLEMI 1. Come memorizzo valori piu grandi di 255? 2. Come rappresento i numeri negativi? 3. Come rappresento i numeri reali?

Fondamenti di Informatica: Codifica Binaria dell Informazione 8 Rappresentazione di interi Per rappresentare valori maggiori di 255 e sufficiente accostare piu celle. NB 1: Non accosto BIT, ma CELLE! NB 2: accostamento e fatto via software, non hardware. Avendo calcolatori a 8 bit, posso avere dati a 16 o 32 bit!

Fondamenti di Informatica: Codifica Binaria dell Informazione 9 Rappresentazione di interi Problema: Dato il massimo numero da rappresentare, quante celle mi servono in un calcolatore a bit (cioe : con celle di dimensione )? Risposta: 1. Calcolo il numero di bit necessari a rappresentare il numero, come visto in precedenza: chiamiamolo. 2. Effettuo la divisione intera tra cella: DIV e il numero di bit che compone una 3. Risultato

ESEMPIO Fondamenti di Informatica: Codifica Binaria dell Informazione 10 Si vogliono rappresentare tutti gli interi tra 0 e 10 miliardi: Servono 34 BIT. Usando celle da 8 BIT: celle (5 BYTES).. A vremo bisogno di 34 DIV 8 + 1 = 5 Usando celle da 16 BIT: = 3 celle.. A vremo bisogno di 34 DIV 16 + 1 Usando celle da 32 BIT: 1 = 2 celle.. A vremo bisogno di 34 DIV 32 +

Fondamenti di Informatica: Codifica Binaria dell Informazione 11 Rappresentazione di interi Problema: rappresentare numeri positivi e negativi, con l informazione relativa al segno. Vedremo due metodi: 1. Modulo e Segno: metodo intuitivo 2. Complemento a due: semplifica operazioni artimetiche sugli interi

Fondamenti di Informatica: Codifica Binaria dell Informazione 12 Rappresentazione di interi in MODULO e SEGNO Segno del valore puo essere + o -. Per memorizzare questa informazione e sufficiente un singolo BIT. BIT DI SEGNO: 0 = +, 1 = - (per convenzione) Avendo a disposizione uso bit, bit per il MODULO del numero e 1 bit (quello piu significativo) per il SEGNO. Posso rappresentare tutti i valori tali che NB: Zero positivo e zero negativo!

Fondamenti di Informatica: Codifica Binaria dell Informazione 13 MODULO e SEGNO: Esempio Supponiamo di utilizzare dati a 8 BIT. Un BIT viene usato per il segno e 7 BIT per il modulo Possiamo rappresentare tutti gli interi tra -127 e 127, NOTA:,

Fondamenti di Informatica: Codifica Binaria dell Informazione 14 Somma di due interi Come sommo due interi in formato MODULO e SEGNO? 1. Confronto i BIT DI SEGNO dei numeri: 2. SE i BIT sono uguali BIT DI SEGNO risultato = BIT di SEGNO dei 2 valori ROUTINE DI SOMMA 3. SE i BIT sono differenti Confronta i valori assoluti dei due numeri BIT DI SEGNO risultato = BIT di SEGNO intero piu grande ROUTINE DI SOTTRAZIONE

Fondamenti di Informatica: Codifica Binaria dell Informazione 15 Complemento a due Scopo: semplificare operazioni aritmetiche su valori interi. Metodo (supponiamo celle a bit): Il BIT piu a sinistra e interpretato come BIT DI SEGNO La cifra contenuta nel BIT DI SEGNO e coefficiente della potenza Le restanti cifre rappresentano i coefficienti delle restanti potenze di due (da 0 a ), nel modo usuale Con bit rappresento i valori t.c. NOTA: vi e un solo valore 0!

ESEMPI Fondamenti di Informatica: Codifica Binaria dell Informazione 16 1. SOMMA DI POSITIVI 2. SOMMA DI POSITIVI NB: non compare il valore 109! 3. 4.

Fondamenti di Informatica: Codifica Binaria dell Informazione 17 Complemento a due I numeri positivi sono rappresentati come nella rappresentazione in modulo e segno I numeri negativi sono rappresentati in modo che i 7 BIT a destra del BIT DI SEGNO rappresentano il COMPLEMENTO A 2 del numero considerato valore assoluto del numero

Fondamenti di Informatica: Codifica Binaria dell Informazione 18 Complemento a due Il complemento a due di un numero intero negativo seguente: si ottiene nel modo Si calcola il valore binario del modulo (valore assoluto) di Si COMPLEMENTANO i bit del modulo N del numero: ogni 1 e convertito in 0 e viceversa Si somma 1 al risultato ottenuto Si pone a 1 il bit si segno

Fondamenti di Informatica: Codifica Binaria dell Informazione 19 ESEMPIO - Complemento a due Rappresentare il valore -78 in complemento a due. Valore assoluto in binario= 78 = 1001110 Bit complementati: 0110001 Sommare 1 al risultato ottenuto: 0110010 Porre a 1 il bit si segno: 1 0110010 Verifica:

Fondamenti di Informatica: Codifica Binaria dell Informazione 20 Complemento a due vs. modulo e segno Intero M&S Comp. 2-4 - 1 00-3 1 11 1 01-2 1 10 1 10-1 1 01 1 11-0 1 00 - +0 0 00 0 00 +1 0 01 0 01 +2 0 10 0 10 +3 0 11 0 11

Fondamenti di Informatica: Codifica Binaria dell Informazione 21 Somma e sottrazione in complemento a due Vantaggi: 1. Non c e differenza tra sommare positivi e negativi! 2. Sottrazione puo essere convertita in somma!

Fondamenti di Informatica: Codifica Binaria dell Informazione 22 Esempi Somma di positivi: Somma di negativi:

Fondamenti di Informatica: Codifica Binaria dell Informazione 23 Somma e sottrazione in complemento a due Somma di positivo e negativo CARRY=1

Overflow Fondamenti di Informatica: Codifica Binaria dell Informazione 24 Si puo verificare solo se i due operandi hanno lo stesso segno CARRY=1 Segno risultato diverso da segno comune ai 2 operandi: OVERFLOW! CARRY=0 Segno risultato diverso da segno comune ai 2 operandi: OVERFLOW!

Fondamenti di Informatica: Codifica Binaria dell Informazione 25 Rappresentazione Numeri Reali Come e possibile rappresentare i numeri reali? Problemi: - Contenere spazio - Approssimazione valori - Coprire un ampio intervallo di valori Alcuni numeri richiedono infinite cifre. Es: - Il numero e, base del logaritmo naturale: e = 2.7182... - Rappresentazione Approssimata

Fondamenti di Informatica: Codifica Binaria dell Informazione 26 Rappresentazione di reali in virgola fissa Metodo piu semplice: affianchiamo un intero e un frazionario Problema: Non disponiamo di un simbolo per rappresentare il PUNTO DECIMALE Soluzione: fissiamo a priori il numero di bit disponibili per la parte intera e il numero di bit disponibili per la parte frazionaria

Fondamenti di Informatica: Codifica Binaria dell Informazione 27 Esempio Supponiamo di avere a disposizione 8 bit. Decidiamo di usare 5 bit per la parte intera e 3 per la parte frazionaria: Interpretato come intero: XXXXX.XXX Interpretato come reale (5-3): NOTARE: Il valore reale e uguale all intero diviso per dipende dalla posizione della virgola fissa): (fattore che

Fondamenti di Informatica: Codifica Binaria dell Informazione 28 Virgola fissa - Svantaggi Intervallo dei valori rappresentabili limitato Problemi di approssimazione

Fondamenti di Informatica: Codifica Binaria dell Informazione 29 Rappresentazione in virgola mobile Anche detto FLOATING POINT I valori sono rappresentati in notazione esponenziale: - - = parte frazionaria = parte esponenziale Esempio: E sufficiente memorizzare, in una base, i valori 24 e 21 La base uguale alla base della notazione esponenziale. usata per memorizzare questi valori non e necessariamente

Fondamenti di Informatica: Codifica Binaria dell Informazione 30 Rappresentazione in virgola mobile VANTAGGI - Range di valori rappresentati - Distribuzione dei valori rappresentati consente approssimazione migliore Provare a rappresentare in virgola fissa i valori e!

Fondamenti di Informatica: Codifica Binaria dell Informazione 31 Caratteristica e Mantissa La CELLA DI MEMORIA e suddivisa in parti: 1. Parte frazionaria: MANTISSA 2. Esponente: CARATTERISTICA 3. BIT DI SEGNO per l esponente 4. BIT DI SEGNO per la mantissa

Fondamenti di Informatica: Codifica Binaria dell Informazione 32 Rappresentazione in virgola mobile - Esempi Esempio 1: Rappresentare il valore -123.45 in virgola mobile, usando Soluzione: Dato che, scrivo edin base 10 Bit segno mantissa = 1, Bit segno esponente = 0

Fondamenti di Informatica: Codifica Binaria dell Informazione 33 Rappresentazione in virgola mobile - Esempi Esempio 2: A che valore decimale corrisponde il seguente valore in virgola mobile ( ): (notare che, Segno mantissa=1, Segno esponente=1 ë sono in base 2, poiche )? Soluzione:

Fondamenti di Informatica: Codifica Binaria dell Informazione 34 Rappresentazione in virgola mobile - Esempi Esempio 3: A che valore decimale corrisponde il seguente valore in virgola mobile ( ):, Segno mantissa=1, Segno esponente=1? Soluzione: Notare che poiche ë sono dati in base 2 ( ) e che -3 e esponente di 10,

Fondamenti di Informatica: Codifica Binaria dell Informazione 35 Rappresentazione di caratteri L utente inserisce dati tramite tastiera: numeri, lettere, simboli Il calcolatore memorizza solo numeri binari. Come memorizzo i caratteri? TABELLA ASCII (American Standard Code for Information Interchange): ad ogni valore numerico associo un carattere Utilizza 8 bit: caratteri diversi Eventuale utilizzo del bit di parita

Fondamenti di Informatica: Codifica Binaria dell Informazione 36 Memorizzazione di caratteri Tipi di carattere contenuti nella tabella ASCII: Caratteri alfanumerici Cifre 0,..., 9 Lettere maiuscole A,..., Z e minuscole a,..., z Segni: caratteri di punteggiatura, operatori aritmetici, ecc. Caratteri di comando: Carriage Return, Line Feed, Form Feed, ecc.

Fondamenti di Informatica: Codifica Binaria dell Informazione 37 Memorizzazione immagini Come memorizzo un immagine in un calcolatore? DIGITALIZZAZIONE L immagine e suddivisa in punti: PIXEL Ogni punto e codificato con un numero che corrisponde a un particolare colore. In generale, potenze di 2! Informazioni necessarie per codificare l immagine: 1. Dimensioni (es. 640x480, 1024x768, ecc.) 2. Risoluzione (misurata in dpi : dot per inch) 3. Numero di colori (o sfumature)