Esercitazioni di Fondamenti di Informatica - Lez. 1 - Soluzioni

Documenti analoghi
Esercitazioni di Fondamenti di Informatica - Lez. 1 02/10/2018

Corso di Informatica B - Sezione D

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

Codifica dell informazione

Rappresentazione di numeri in virgola mobile

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Esercitazione del 05/03/ Soluzioni

Semplificare la seguenti espressioni: a) [(A+ A)*(B*B)]+(A XOR A) + ( B XOR F) Soluzione: [ V * B ] + F + B B + B V

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

Esercitazioni - Informatica A

Esercitazione del 03/03/ Soluzioni

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

Codifica. Rappresentazione di numeri in memoria

Rappresentazione dell informazione


Esercizio 1) Un tuo amico ha calcolato che -77 ha rappresentazione , ma non si ricorda quale codica ha usato. tra: binario naturale

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Somma di numeri binari

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Convertire in formato decimale i seguenti numeri binari:

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

Codifica di informazioni numeriche

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

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

La codifica binaria. Informatica B. Daniele Loiacono


Esercitazione del 09/03/ Soluzioni

Fondamenti di Informatica

Esercitazione 1 del 9/10/2013

Esercitazione 1 del 07/10/2011

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Codifica dell informazione numerica

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

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

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

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

Esercitazione 1 del 10/10/2012

Rappresentazione dell informazione

La codifica binaria. Informatica B. Daniele Loiacono

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

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

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

Elaborazione dell informazione

Rappresentazione dell informazione

Soluzioni Esercizi su rappresentazione binaria dell informazione

La codifica. dell informazione

La Rappresentazione dell Informazione

Esercitazione 1 del 8/10/2014

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

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

Codifica binaria: - numeri interi relativi -

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

D:\Documenti Ea\Informatica B\Esercitazioni\ Esercitazione 7\codBin.txt sabato 6 novembre

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

Risoluzione degli esercizi proposti dall 1 al 6

Unità aritmetica e logica

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

Rappresentazione e Codifica dell Informazione

Laboratorio del 21/10/2010- Numeri binari e conversione

Parte III Indice. Rappresentazione dei valori frazionari. Esercizi. in virgola fissa in virgola mobile III.1. Fondamenti di Informatica

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

Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS

Esercitazione n. 5. Rappresentazione dei numeri

La codifica. dell informazione

Informatica Generale 02 - Rappresentazione numeri razionali

Lezione 1. Rappresentazione dei numeri. Aritmetica dei calcolatori. Rappresentazione dei numeri naturali in base 2

Codifica dell informazione numerica

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Esempi - overow Considerando numeri binari di 4 bit, eettuare la somma (9) 10 =(1001) 2 (7) 10 =(0111) Il risultat

Rappresentazione FP IEEE-754 Somme di numeri FP

Fondamenti di informatica

Operazioni artimetiche

Sistemi numerici: numeri con segno. Esercizi risolti

Lezione 3. I numeri relativi

Codifica dell Informazione per il Calcolo Scientifico

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico

Esercizi Programmazione I

Informatica 1. Prova di recupero 15 Febbraio 2005

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Supporto e informazione. Il concetto di informazione

Introduzione al linguaggio macchina

5DSSUHVHQWD]LRQH)3,((( 6RPPHGLQXPHUL)3

Rappresentazione numeri reali

Rappresentazione in virgola mobile. 5 ottobre 2015

Ora riordinando i resti della divisione (dall ultimo al primo) si ottiene il risultato.

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

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Lezione 2. Rappresentazione dell informazione

Richiami sulla rappresentazione dei numeri

Rappresentazione dell informazione

Firmware Division, UC & Floating pointer adder

I.4 Rappresentazione dell informazione - Numeri con segno

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Il concetto di informazione. Supporto e informazione

Introduzione. Introduzione

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

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

Rappresentazione binaria

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

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Transcript:

Esercitazioni di Fondamenti di Informatica - Lez. 1 - Soluzioni 25 Settembre 2017 1 Esercizi sulla codifica binaria Esercizio 1: Quanti bit sono necessari per codificare il numero di auto presenti in un parcheggio da 20 posti? Devo considerare 21 elementi diversi, da il parcheggio è vuoto a il parcheggio è pieno, e il numero di bit necessari è calcolato come log 2 21 + 1 = 4 + 1 = 5. Esercizio 2: Quanti bit sono necessari per codificare 32 capi d abbigliamento di cui 15 pantaloni, 9 camicie e 8 giacche? Le informazioni sulla tipologie dei capi sono trascurabili; ho 32 elementi diversi da rappresentare. Se considero anche la combinazione di 0 capi d abbigliamento, ho 33 elementi da considerare, da 0 a 32: il numero di bit necessari puó essere calcolato come log 2 32 + 1 = 5 + 1 = 6. Se invece non considerassi la combinazione di 0 capi d abbigliamento ho 32 elementi, da 1 a 32. il numero di bit necessari può essere calcolato come log 2 31 +1 = 4+1 = 5. Esercizio 3: Converti 197 10 in base 2. Verifica la correttezza della conversione, riconvertendo il risultato in base 10. 197 :2 98 1 49 0 24 1 12 0 6 0 3 0 1

Quindi 197 10 = 11000101 2. Verifica del risultato: 11000101 2 = 1 2 7 +1 2 6 +0 2 5 +0 2 4 +0 2 3 +1 2 2 +0 2 1 +1 2 0 = 128+64+4+1 = 197 10 Esercizio 4: Converti 584 10 in base 11. Verifica la correttezza della conversione, riconvertendo il risultato in base 10. 584 :11 53 1 4 9 0 4 Quindi 584 10 = 491. Verifica del risultato: 491 = 4 11 2 + 9 1 + 1 1 = 484 + 99 + 1 = 584 10 Esercizio 5: Definire le rappresentazioni in modulo e segno, complemento a uno e complemento a due del numero decimale 8192 10 usando il numero minimo di bit necessari. 8192 :2 4096 0 2048 0 1024 0 512 0 256 0 128 0 64 0 32 0 16 0 8 0 4 0 2 0 Prima convertiamo il valore assoluto del numero in base 2 8192 10 = 2 13 10 = 10000000000000 2 Modulo e segno: primo bit è il segno (0 per valori positivi, 1 per valori negativi), 2

seguito dal valore assoluto del numero in base 2. 8192 10 = 10000000000000 2 = 110000000000000 MS. Complemento a 1: il primo bit è 0 per numeri positivi, 1 per numeri negativi. I numeri positivi sono codificati normalmente, i negativi sono il complemento del valore assoluto in base 2. 8192 10 = 10000000000000 2 = 101111111111111 C1. Complemento a 2: il primo bit è 0 per numeri positivi, 1 per numeri negativi, ma fa parte del numero e non deve essere scartato. Per numeri positivi é il complemento a due la rappresentazione binaria, per i numeri negativi é il complemento a 1 a cui viene sommato il valore 1. 8192 10 = 10000000000000 2 = 01111111111111 C1 + 1 = 10000000000000 C2. Esercizio 6: Spiegare cosa rappresenta il numero binario 1000101 se codificato in modulo e segno, in complemento a 1 e in complemento a 2. Modulo e segno: il primo bit è il segno, 1 è per numeri negativi, il resto è la codifica binaria del valore assoluto del numero. 1000101 MS = 000101 2 = 5 10 Complemento a 1: il primo bit è il segno, il restante é il complemento del valore assoluto del numero. 1000101 C1 = 111010 2 = 58 10 Complemento a 2: é il complemento a uno del numero a cui viene sommato 1. 1000101 C2 = 1000101 1 = 1000100 C1 = 0111011 2 = 59 10 Esercizio 7: Spiegare cosa rappresenta il numero binario 100000 se codificato in: (a) modulo e segno, (b) complemento a 1 e (c) complemento a 2. Modulo e segno: il primo bit è il segno, 1 è per numeri negativi, il resto è la codifica binaria del valore assoluto del numero. 100000 MS = 00000 2 = 0 Complemento a 1: il primo bit è il segno, il restante é il complemento del valore assoluto del numero. 100000 C1 = 11111 2 = 30 Complemento a 2: é il complemento a uno del numero a cui viene sommato 1. 100000 C2 = 32 10. In questo caso il valore binario è il limite inferiore dei valori rappresentabili, che per il complemento a 2 è per convenzione negativo, in questo caso ho 6 bit, quindi ho 2 6 = 32 Esercizio 8: Converti 10.25 10 in base 2. Verifica la correttezza della conversione, riconvertendo il risultato in base 10. Considera separatamente la parte intera dalla parte decimale. 3

10 :2 5 0 2 1 0.25 2 = 0.5 0.5 2 = 1.0 10.25 10 = 1010.01 2 Verifica del risultato: 1010.01 2 = 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 + 0 2 1 + 1 2 2 = 8 + 2 + 1/4 = 10.25 10 Esercizio 9: Converti 8.375 10 in base 2. Verifica la correttezza della conversione, riconvertendo il risultato in base 10. 8 :2 4 0 2 0 Considera separatamente la parte intera dalla parte decimale. 0.375 2 = 0.75 0.75 2 = 1.5 0.5 2 = 1.0 8.375 10 = 1000.011 2 Verifica del risultato: 1000.011 2 = 1 2 3 +0 2 2 +0 2 1 +0 2 0 +0 2 1 +1 2 2 +1 2 3 = 8+1/4+1/8 = 8.375 10 Esercizio 10: Converti 15.4 10 in base 2. Verifica la correttezza della conversione, riconvertendo il risultato in base 10. 15 :2 7 1 3 1 Considera separatamente la parte intera dalla parte decimale. 4

0.4 2 = 0.8 0.8 2 = 1.6 0.6 2 = 1.2 0.2 2 = 0.4 0.4 è ripetuto, abbiamo un decimale periodico 15.410 = 1111.0110 2 Verifica del risultato: 1111.0110 2 = 1 2 3 +1 2 2 +1 2 1 +1 2 0 +0 2 1 +1 2 2 +1 2 3 = 8+4+2+1+1/4+1/8 = 15.375 10 15.4 10 non ho il numero originale, perchè dovrei considerare i decimali periodici Esercizio 11: Calcolare 8 10 5 10 in base 2 in complemento a 2 usando 5 bit. 8 :2 4 0 2 0 5 :2 2 1 8 10 = 01000 2 5 10 = 00101 2 convertiamo 5 10 nel suo negativo con complemento a 2 usando 5 bit. 5 10 = 11011 2 La somma tra i due numeri binari è adesso diretta. 0 0 0 + 1 = 0 1 I segni degli addendi sono discordi: il risultato è corretto: 8 10 5 10 = 3 10 = 00011 2 Esercizio 12: Calcolare 3 10 2 10 in base 2 in complemento a 2 usando 5 bit. 3 :2 2 :2 3 10 = 00011 2 2 10 = 00010 2 5

convertiamo entrambi i valori nel loro negativo con complemento a 2 usando 5 bit. 3 10 = 11101 2 2 10 = 11110 2 La somma tra i due numeri binari è adesso diretta. 1 + 1 = 1 1 I segni degli addendi sono concordi e uguali al segno del risultato: risultato corretto. 3 10 2 10 = 5 10 = 11011 2 (guarda il valore di -5 in complemento a 2 trovato nell Esercizio 11) Esercizio 13: Calcolare 5 10 6 10 in base 2 in complemento a 2 usando 4 bit. 5 :2 2 1 6 :2 3 0 5 10 = 0101 2 6 10 = 0110 2 convertiamo entrambi i valori nel loro negativo con complemento a 2 usando 4 bit. 5 10 = 1011 2 6 10 = 1010 2 La somma tra i due numeri binari è adesso diretta. 1 1 + 1 0 = 1 I segni degli addendi sono concordi ma diversi dal segno del risultato: risultato errato. In particolare il risultato esatto -11 ha bisogno di più di 4 bit per essere rappresentato in complemento a 2. 5 10 6 10 = 10 0101 2 Esercizio 14: Convertire il numero decimale 3.25 in base 2 in virgola mobile in singola precisione usando lo standard IEEE 754. 3 :2 6

0.25 2 = 0.5 0.5 2 = 1.0 3.25 10 = 11.01 2 = 1.101 2 1 Segno = 0, il numero è infatti positivo Esponente = 1 + 127 = 128 = 10000000 2 Mantissa = 10100000000000000000000 3.25 10 = 0 segno 10000000 esponente 10100000000000000000000 mantissa Esercizio 15: Convertire il numero decimale -23.375 in base 2 in virgola mobile in singola precisione usando lo standard IEEE 754. 23 :2 1 5 1 2 1 0.375 2 = 0.75 0.75 2 = 1.5 0.5 2 = 1.0 23.375 10 = 10111.011 2 = 1.0111011 2 4 Segno = 1, il numero è infatti negativo Esponente = 4 + 127 = 131 = 10000011 2 Mantissa = 01110110000000000000000 23.375 10 = 1 segno 10000011 esponente 01110110000000000000000 mantissa Esercizio 16: Convertire il numero decimale -127.25 in base 2 in virgola mobile in singola precisione usando lo standard IEEE 754. 7

127 :2 63 1 3 15 1 7 1 3 1 0.25 2 = 0.5 0.5 2 = 1.0 127.25 10 = 1111111.01 = 1.11111101 2 6 Segno = 1, il numero è infatti negativo Esponente = 6 + 127 = 133 = 10000101 2 Mantissa = 11111101000000000000000 127.25 10 = 1 segno 10000101 esponente 11111101000000000000000 mantissa Esercizio 17: Convertire il numero decimale -131.5 in base 2 in virgola mobile in singola precisione usando lo standard IEEE 754. 131 :2 65 1 32 1 16 0 8 0 4 0 2 0 0.5 2 = 1.0 131.5 10 = 10000011.1 = 1.00000111 2 7 Segno = 1, il numero è infatti negativo Esponente = 7 + 127 = 134 = 10000110 2 Mantissa = 00000111000000000000000 131.5 10 = 1 segno 10000110 esponente 8 00000111000000000000000 mantissa

2 Esercizi Linguaggio di Von Neumann Scrivere un programma nel linguaggio della macchina di Von Neumann che soddisfi le richieste dell esercizio. Nella soluzione il testo preceduto dal simbolo // è un commento al codice. Esercizio 1: Leggere tre numeri e stampare la loro somma. 0 READ // Leggo i l primo numero 1 STORE 101 // Lo memorizzo i n una c e l l a d i memoria 2 READ // Leggo i l secondo numero 3 STORE 102 // Lo memorizzo 4 READ // Leggo i l t e r z o numero 5 ADD 101 // Posso e v i t a r e di memorizzarlo 6 ADD 102 // Sommo i numeri l e t t i in precedenza 7 WRITE // Stampo i l r i s u l t a t o 8 END Esercizio 2: Leggere due numeri interi positivi e stampare la differenza tra il più grande e il più piccolo 0 READ // Leggo i l primo numero (A) 1 STORE 101 // Lo memorizzo i n una c e l l a d i memoria 2 READ // Leggo i l secondo numero (B) 3 STORE 102 // Lo memorizzo 4 SUB 101 // Sottraggo da B ( n e l l accumulatore ) A ( in c e l l a di memoria ) 5 BGE 8 // c o n t r o l l o (B A) >= 0 ; se e vero s a l t a a l l a stampa 6 LOAD 101 // a l t r i m e n t i c a r i c o i l primo numero 7 SUB 102 // s o t t r a g g o da A ( in accumulatore ) B ( in c e l l a di memoria ) 8 WRITE // stampo i l r i s u l t a t o in accumulatore 9 END Esercizio 3: Leggere un numero n e stampare la somma dei successivi n numeri letti. 0 LOAD= 0 // i n i z i a l i z z a accumulatore a 0 1 STORE 101 // memorizza v a l o r e i n i z i a l e accumulatore (somma f i n a l e ) 2 READ // l e g g i i l numero n 3 STORE 102 // s a l v a i l numero e u s a l o come c o n t a t o r e 4 BLE 11 // c o n t r o l l a se c o n t a t o r e e <=0 ; se vero, s a l t a a f i n e c i c l o 5 READ // se c o n t r o l l o e f a l s o, l e g g i un numero 6 ADD 101 // somma numero l e t t o a somma i n memoria 7 STORE 101 // aggiorna v a l o r e somma p a r z i a l e 8 LOAD 102 // c a r i c a i l c o n t a t o r e 9

9 SUB= 1 // decrementa c o n t a t o r e di 1 ( una i t e r a z i o n e in meno) 10 BR 4 // f i n e i t e r a z i o n e, s a l t a a l l i n i z i o d e l c i c l o 11 LOAD 101 // c a r i c a v a l o r e somma f i n a l e 12 WRITE // stampa somma f i n a l e 13 END Esercizio 4: Leggere una sequenza di numeri terminata da uno 0 e stampare la somma dei soli numeri positivi. 0 LOAD= 0 // i n i z i a l i z z a accumulatore a 0 1 STORE 101 // memorizza v a l o r e i n i z i a l e accumulatore (somma f i n a l e ) 2 READ // l e g g i un numero 3 BEQ 8 // se numero l e t t o e = 0, termino i l c i c l o 4 BL 2 // se numero e < 0, s a l t a i l numero 5 ADD 101 // a l t r i m e n t i somma i l numero a l l a somma p a r z i a l e in memoria 6 STORE 101 // aggiorna somma p a r z i a l e 7 BR 2 // s a l t a a i n i z i o c i c l o 8 LOAD 101 // c a r i c a somma f i n a l e 9 WRITE // stampa somma f i n a l e 10 END 10