Fondamenti di Informatica I Facoltà di Ingegneria Informatica Esercitazione.

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Aritmetica Binaria
Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
Fondamenti di Informatica
Rappresentazione di Numeri Reali
Circuiti Aritmetico-Logici
Rappresentazioni numeriche
Sistemi di numerazione
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Sistemi di numerazione e codici
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
esponente del radicando
Esercitazioni su rappresentazione dei numeri e aritmetica
Rappresentazione dei numeri razionali
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Informatica 3 Codifica binaria.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Sistemi di Numerazione
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
Rappresentazione dei dati
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazioni numeriche
Rappresentazione binaria dei numeri interi senza segno.
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
4) Rappresentazione dei dati in memoria
Cos’è un problema?.
Il sistema binario.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Rappresentazione dell’informazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ARITMETICA BINARIA.
RAPPRESENTAZIONE DELL'INFORMAZIONE
CONVERSIONE NUMERI INTERI CON COMPLEMENTO A DUE. I computer di oggi effettuano ogni tipo di operazione numerica, ma le prime ALU degli anni 50 erano in.
Sistemi di numerazione
Dalle potenze ai numeri binari
Scomposizione polinomi
La rappresentazione delle informazioni in un computer Seconda parte.
La rappresentazione delle informazioni in un computer [Terza parte]
Teoria dei sistemi Autore: LUCA ORRU'.
Process synchronization
Rappresentazione dell’Informazione
Rappresentazione dell’informazione nel calcolatore.
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
Rappresentazione dell'informazione
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
La codifica dei numeri.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Conversione binario-ottale/esadecimale
Rappresentazione dei numeri
I sistemi di numerazione
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni.
Transcript della presentazione:

Fondamenti di Informatica I Facoltà di Ingegneria Informatica Esercitazione

Scopo dellesercitazione è analizzare e comprendere le basi di numerazione tipicamente utilizzate nellambito informatico e prendere confidenza con le tecniche che consentono di effettuare la conversione di un numero da una base ad unaltra. Inoltre verranno analizzate anche alcune implementazioni di semplici reti logiche partendo dalla funzione logica. In particolare, si focalizzerà lattenzione su reti logiche di tipico utilizzo in circuiti digitali combinatori.

Analizziamo adesso le tecniche di conversione di un numero intero da una base ad unaltra. Per i nostri scopi, le basi significative sono 2 (binario), 8 (ottale), 10 (decimale) e 16 (esadecimale). Il sistema binario deve la sua importanza al fatto che esso riflette la rappresentazione intrinseca dei numeri (nonché dei dati) da parte di un calcolatore. I sistemi di numerazione ottale ed esadecimale sono invece molto comodi in molte occasioni. Si pensi ad esempio al caso in cui si debba debuggare un codice avendo la necessità di seguire il flusso dello stesso… rappresentare un indirizzo di 32 bit in binario sarebbe follia!

Convertire il seguente numero binario intero in base 8, 10 e 16. ( ) 2 Analizziamo la conversione base 2 base 8. Per fare questo, raggruppiamo le cifre binarie in gruppi di 3 aggiungendo eventualmente degli zeri in testa al numero (2345) 8 Esercizio 1

Vediamo adesso la conversione base 2 base 16. In questo caso si procede in maniera simile al caso analizzato in precedenza avendo laccortezza di raggruppare le cifre binarie in gruppi di 4. ( ) E 5 Quindi la rappresentazione esadecimale del numero è (4E5) 16.

Completiamo lesercizio analizzando la conversione base 2 base 10. Per fare questa conversione sfrutteremo il concetto di notazione posizionale in base alla quale un numero in base 2 di n cifre binarie può essere scritto come N = n-1 i=0 C i * 2 i con C i che può assumere valore 0 e 1.

Quindi, tornando allesercizio, si ottiene che ( ) 2 = 1 * * * * * * * * * * * 2 10 = = 1253 Quindi la rappresentazione decimale del numero è (1253) 10.

Vediamo adesso la conversione di base partendo da una base diversa da 2. Si faccia attenzione perché le tecniche fin qui introdotte possono essere fruttuosamente utilizzate per effettuare ad esempio una conversione da base 8 a base 16. In tal caso, infatti, risulta estremamente più semplice convertire il numero da base 8 a base 2 e successivamente da base 2 a base 16 (come visto in precedenza) piuttosto che effettuare la conversione direttamente. Vediamo un esercizio di conversione da base 8 ad unaltra base.

Convertire il seguente numero intero ottale (64752) 8 in base 2, 10 e 16. La cosa più conveniente da farsi è convertire prima di tutto il numero in base 2. Quindi convertendo cifra per cifra da cui la rappresentazione binaria del numero è ( ) 2. Esercizio 2

A questo punto, per effettuare la conversione di questo numero in base 10 e in base 16, si opera nella stessa identica maniera descritta in precedenza. Quindi, svolgendo i passaggi necessari si ottiene che (64752) 8 = ( ) 2 = (69EA) 16 = (27114) 10

Esercizi Proposti 1- Convertire il numero intero (38A9) 16 in base 2, 8 e 10. [soluzione : (34251) 8 = ( ) 2 = (14505) 10 ] 2- Convertire il numero intero (179711) 10 in base 2,8 e 16. [soluzione : (536777) 8 = ( ) 2 = (2BDFF) 16 ]

Esercizio 3 Vediamo adesso un esercizio di conversione da base 10 a base 2 di un numero intero. Consideriamo il numero decimale 45. La conversione si effettua in maniera semplice. resto 45 / 2 = / 2 = / 2 = / 2 = / 2 = Quindi, prendendo i resti in senso inverso, otteniamo la rappresentazione binaria (101101) 2.

A questo punto abbiamo analizzato tutti i casi che possono presentarsi nel momento in cui si debba effettuare una conversione di base per un numero intero. In generale, come abbiamo visto, conoscendo le tecniche di conversione da e verso la base 2 è possibile poi effettuare la conversione di un numero da una base diversa da 2 ad unaltra anchessa diversa da 2. Affrontiamo adesso la questione della rappresentazione di numeri interi con segno. In realtà, quanto detto in precedenza, è sempre valido per numeri interi positivi.

Rappresentazione di un numero intero negativo in complemento a 2 Vediamo adesso la rappresentazione in complemento a 2 di un numero intero con segno. Come già accennato, per i numeri interi positivi non cambia nulla. Vediamo invece per i numeri interi negativi come si procede. Per esempio convertiamo il numero decimale (-45) 10. La prima cosa da fare è ignorare momentaneamente il segno. Quindi il numero da convertire è (45) 10 che, abbiamo visto in precedenza equivale a (101101) 2. A questo punto dobbiamo invertire tutti le cifre binarie da cui e successivamente aggiungere 1 da cui (-45) 10 = ( ) 2

Esercizio 4 Effettuare la somma tra le seguenti coppie di numeri (54, 3) e (-54, -3) in binario. Prima di tutto, effettuiamo la conversione dei due numeri. resto 54 / 2 = / 2 = / 2 = / 2 = / 2 = 1 1 1

Quindi abbiamo (54) 10 = (110110) 2 (3) 10 = (11) 2 Sommiamo adesso i due numeri = Si verifica facilmente che questa è la rappresentazione in base 2 del numero decimale 57.

Adesso, partendo da quanto sappiamo, rappresentiamo i due numeri negativi in complemento a 2. (-54) (-3)

Procediamo adesso con la somma = Questa dovrebbe essere la rappresentazione in complemento a 2 di -57. Verifichiamo usando il procedimento inverso Il risultato è quindi corretto.

Conversione di numeri reali Convertire i numeri reali decimali 0.75 e 0.45 in base 2. In questo caso si procede in maniera duale rispetto ai casi precedenti operando una moltiplicazione per 2 e prendendo la parte intera. parte interaresto 0.75 * 2 = * 2 = Quindi si ottiene (0.75) 10 = (0.11) 2 Si noti che, in questo caso la procedura ha termine ma non è detto che questo succeda.

Vediamo laltro esempio parte interaresto 0.45 * 2 = * 2 = * 2 = * 2 = * 2 = * 2 = …….. In questo caso, la procedura non ha mai termine. Dobbiamo troncare quindi ottenendo come risultato ( …) 2.

Esercizio 5 Rappresentare il numero reale utilizzando una parola di 32 bit, utilizzando 1 bit per il segno, 7 bit per lesponente e 24 per la mantissa. Convertiamo prima di tutto la parte intera resto 18 / 2 = / 2 = / 2 = / 2 = Quindi (18) 10 = (10010) 2.

Convertiamo adesso mediante moltiplicazioni successive parte intera * 2 = * 2 = * 2 = 1 1 Quindi, alla fine di questa prima fase, abbiamo ottenuto che (18.125) 10 = ( ) 2 A questo punto dobbiamo procedere alla fase di normalizzazione.

Normalizzando otteniamo * 2 5 A questo punto, poiché 5 10 = (101) 2, la rappresentazione del numero è la seguente S ExpMantissa Questo nel caso in cui non si faccia uso dellesponente convenzionale.

Per rappresentare lo stesso numero considerando lesponente convenzionale, consideriamo che se i bit riservati allesponente sono 7 il range di valori assumibili dallesponente stesso è [ -64, +63 ]. Lesponente convenzionale si ottiene sommando allesponente reale il semirange che nel nostro caso vale 64. Il risultato è che, in questo modo, lesponente convenzionale è sempre un numero positivo. Tornando al nostro esempio, lesponente convenzionale è pari a (5 + 64) = 69.

Poiché si verifica facilmente che (69) 10 = ( ) 2 la rappresentazione è la seguente

Funzioni logiche Vediamo come semplici esempi di funzioni logiche la realizzazione di un half-adder e di un full-adder. HALF-ADDER Partiamo dalla tabella di verità ABOUTCARRY

Scriviamo queste tabelle organizzandole in maniera diversa. OUTB01 A CARRYB01 A

Da questa rappresentazione si ricava che OUT = (A AND (NOT(B))) OR (NOT(A) AND B) CARRY = A AND B Spesso, per semplicità di notazione, si scrive OUT = A · B + A · B CARRY = A · B

FULL-ADDER A BCOUT CARRY

AB C AB C

Quindi si ottiene OUT = A · B · C + A · B · C + A · B · C + A · B · C CARRY = A · B · C + A · B · C + A · B · C + A · B · C