Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

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

Lezione 3. I numeri relativi

Rappresentazione dei Numeri

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

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

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

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

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

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

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

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

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Unità aritmetica e logica

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Somma di numeri binari

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

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Fondamenti di Programmazione. Sistemi di rappresentazione

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

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

I.4 Rappresentazione dell informazione - Numeri con segno

La codifica binaria. Informatica B. Daniele Loiacono

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Rappresentazione dei numeri interi in un calcolatore

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori

Sistemi di Numerazione Binaria

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Rappresentazione in virgola fissa. Rappresentazione in virgola mobile (floating point)

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

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

Decimale, binaria,esadecimale

La Rappresentazione dell Informazione

Sistemi di Numerazione Binaria

Fondamenti di Programmazione. Sistemi di rappresentazione

1-Rappresentazione dell informazione

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

APPUNTI DI INFORMATICA

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

Rappresentazione numeri reali

Informazione binaria: - rappresentazione dei numeri razionali -

Sistemi di Numerazione Binaria

Aritmetica dei Calcolatori

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

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

La codifica dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri

La codifica binaria. Informatica B. Daniele Loiacono

La codifica. dell informazione

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

Codifica di informazioni numeriche

Rappresentazione dei numeri reali in un calcolatore

Aritmetica dei Calcolatori

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

Codifica binaria. Rappresentazioni medianti basi diverse

Rappresentazione in virgola mobile Barbara Masucci

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

Esempio 1: virgola mobile

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

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

Sistemi di Numerazione

Algebra di Boole e porte logiche

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

La codifica. dell informazione

Rappresentazione di numeri interi

Elementi di Informatica e Programmazione

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

Rappresentazione dell informazione

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

Aritmetica dei Calcolatori Elettronici

ESERCITAZIONE. Uso dell accessorio calcolatrice per

! Rappresentazione dell informazione

Rapida Nota sulla Rappresentazione dei Caratteri

Esercitazione del 09/03/ Soluzioni

Calcolatori: Sistemi di Numerazione

Arithmetic and Logic Unit e moltiplicatore

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

Laboratorio di Informatica

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015

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

04 Aritmetica del calcolatore

Numeri in virgola mobile

I.4 Rappresentazione dell informazione

Tipi di dato primitivi

Rappresentazione dei numeri interi in un calcolatore

Fondamenti di Informatica

Cenni alla rappresentazione dei tipi dato primitivi

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 14 Novembre 2014

La rappresentazione dei dati

Rappresentazione e Codifica dell Informazione

Rappresentazione dell Informazione

Soluzioni Esercizi su rappresentazione binaria dell informazione

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

Codifica. Rappresentazione di numeri in memoria

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

Università degli Studi di Cassino

La "macchina" da calcolo

Architetture degli Elaboratori I II Compito di Esonero (A) - 16/1/1997

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

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile

Transcript:

Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Esercizi di aritmetica binaria: Esercizio 1 Siano A = 11010111, B = 0101, e C = 1011 la rappresentazione in complemento a due di tre numeri interi a, b, e c, rispettivamente su 8, 4 e 4 bit. Determinare, se esistono, quoziente e resto (su 4 bit) della divisione di a per b e di a per c. Esercizio 2 Si consideri un elaboratore che lavora in complemento a due. Sia A una sequenza di p bit che rappresenta un certo numero reale a in virgola fissa. Dei p bit, f sono utilizzati per la parte frazionaria. (1) Determinare un algoritmo che, operando sulle rappresentazioni, trasforma la sequenza di bit A nella sequenza di bit A', rappresentazione di a su p bit di cui f' per parte frazionaria. (2) Discutere eventuali situazioni di overflow. (3) Determinare come l'algoritmo influenza l'errore di rappresentazione (lo lascia invariato, lo aumenta, lo diminuisce). Esercizio 3 Per ognuno dei seguenti numeri, dire quante cifre sono al minimo necessarie per rappresentarli in base due, in base tre ed in base cinque, dandone la relativa rappresentazione. I numeri interi saranno rappresentati come unsigned, quelli reali in virgola fissa, specificando il numero delle cifre della parte intera e della parte frazionaria. A = 84788 B = 1024 C = 187,25 D = 2327,16 Esercizio 4 Per ognuno dei due numeri 4,03125 e 8,0005 dire: se sono rappresentabili in modo finito in base 2; in caso affermativo, dire con quante cifre di parte frazionaria sono rappresentabili e darne la rappresentazione; se sono rappresentabili in modo esatto in virgola fissa (unsigned) su 8 bit, di cui 4 per la parte intera e 4 per la parte frazionaria; in caso affermativo, darne la rappresentazione, altrimenti, dare la rappresentazione degli approssimanti, e dire con quale errore (per difetto o per eccesso) vengono rappresentati;

se sono rappresentabili in modo esatto in virgola mobile secondo lo standard IEEE 754-1985 su 10 bit, di cui 4 per la mantissa e 5 per l'esponente; in caso affermativo, darne la rappresentazione, altrimenti, dare la rappresentazione degli approssimanti, e dire con quale errore (per difetto o per eccesso) vengono rappresentati. Esercizio 5 Siano dati i numeri reali r1 = +5.23 e r2 = +4.71 (A) Determinare le loro rappresentazioni in virgola fissa su 8 bit di cui 4 per la parte decimale e (B) eseguire l'addizione supponendo di disporre di 8 bit per rappresentare la somma. Si assuma di utilizzare l'aritmetica intera in modulo e segno. SOLUZIONE: Per prima cosa si esprimono i numeri r1 ed r2 in base due. r1 = + 101.0011010001 r2 = + 100.1011010111 (A) La relazione tra un numero reale ed un numero intero determinata dalla rappresentazione in virgola fissa è la seguente z = r *2 f, con f numero di cifre dopo la virgola. Essendo f=4 otteniamo: z1 = r1 *2 4 = + 1010011 z2 = r2 *2 4 = + 1001011 Si noti che implicitamente abbiamo operato un troncamento alla quarta cifra dopo la virgola. La rappresentazione di r1 e r2 corrisponde a quella di z1 e z2, rispettivamente: r1 = 01010011 r2 = 01001011 (B) I due numeri sono concordi, per cui i valori assoluti devono essere sommati. Questa somma viene eseguita sommando bit a bit, da destra a sinistra e tenendo conto dei riporti, i 7 bit meno significativi di r1 e r2. La somma è da considerarsi tra interi assoluti. È banale osservare che tale somma ha riporto uscente pari a 1 e quindi produce overflow. Esercizio 6 Siano date le sequenze di bit A = 11101010 e B =11001110. Supponendo che tali sequenze siano la rappresentazione di due numeri a e b rispettivamente, ricavare tali numeri nei seguenti casi: a e b sono numeri naturali; a e b sono numeri relativi e la macchina usa la rappresentazione in complemento a due; a e b sono numeri reali rappresentati in virgola fissa, utilizzando 4 bit per la parte intera e 4 per la parte decimale. Si assuma inoltre che la macchina rappresenti gli interi in modulo e segno.

Dire l'esito dell'operazione di somma nei tre casi sopra, sapendo che per rappresentarla si hanno a disposizione 8 bit. Esercizio 7 Dati i numeri relativi 125, -21, 47, darne la rappresentazione in complemento a 2 e in modulo e segno su 8 bit; dire poi quali operazioni possono essere fatte sulle loro rappresentazioni binarie per ottenere la rappresentazione in virgola fissa del risultato della divisione per 16 di tali numeri, verificando la fattibilità dell'operazione quando si considerino 3 bit per la parte intera e 5 per la parte frazionaria. Esercizio 8 Considerare i seguenti numeri di 16 bit rappresentati in complemento a 2, in virgola fissa considerando 8 bit di parte frazionaria. 1101010001100000 1110011100010100 SOLUZIONE: In complemento a due, R1 ed R2 sono la rappresentazione dei numeri interi (-0010101110100000) 2 = (-11168) 10 (-0001100011101100) 2 = (-6360) 10 rispettivamente. Per cui i numeri reali r1 ed r2 si ricavano dividendo tali numeri interi per 2 8 r1 = (-00101011.10100000) 2 = (-43,625) 10 r2 = (-00011000.11101100) 2 = (-24,921875) 10 (B) in complemento a due, z1 = (-00101011) 2 = (-43) 10 11010101 z2 = (-00011000) 2 = (-24) 10 11101000 La somma non produce overflow e vale 10111101. Esercizio 9 Dati i numeri interi negativi n1 = -2626 e n2 = -3024, espressi in base 7, rappresentarli in complemento a due su 12 bit ed effettuarne la somma (operando in complemento a due). SOLUZIONE: In base dieci abbiamo n1 = -(2 * 7 3 + 6 * 7 2 + 2 * 7 + 6) = -1000

n2 = -(3 * 7 3 + 2 * 7 + 4) = -1047 Le loro rappresentazioni in complemento a due sono N_1 = 110000011000 N_2 = 101111101001 La somma non produce overflow e vale S = 100000000001 Esercizio 10 Trovare la base nel quale sono vere le seguenti uguaglianze: 17+41+22 = 102 5641-3330 = 2311 193 / 14 = 14 Esercizio 11 Dire quanti bit sono al minimo necessari per rappresentare in virgola fissa il numero 203,57 con un errore inferiore all 1% Esercizio 12 Dire quanti bit sono al minimo necessari per rappresentare in virgola fissa in complemento a 2 il numero 87,46875 Esercizio 13 Verificare la validità delle seguenti equivalenze tra espressioni booleane: 1.1) x AND (y OR z) = NOT x NOR (y NOR z) 1.2) x XOR y = (x => y) NAND (y => x) 1.3) x => (y => z) = (x => y) => z Esercizio 14 Siano date le sequenze di bit A = 11010010 e B =11101000. Supponendo che tali sequenze siano la rappresentazione di due numeri a e b rispettivamente, ricavare tali numeri nei seguenti casi: a e b sono numeri naturali; a e b sono numeri relativi e la macchina usa la rappresentazione in complemento a due; Dire l' esito dell'op erazione di somma nei due casi sopra, sapendo che per rappresentarla si hanno a disposizione 8 bit.

Esercizio 15 Descrivere quale funzione di n calcola l algoritmo espresso da questo diagramma a blocchi, dando il risultato del calcolo effettuato quando si diano in ingresso i seguenti valori di n: a) n =1 b) n = 0 c) n = 5 d) n = -1 I n i 0 f 1 si i = n f F no f f * i i i+1 Esercizio 16 Dati i numeri interi negativi n1 = -2616 e n2 = -3014, espressi in base 9, rappresentarli in complemento a due su 12 bit ed effettuarne la somma (operando in complemento a due). Esercizio 17 Determinare quali delle espressioni booleane proposte ai punti a, b, c, è equivalente alla espressione (x AND y) OR z : a) (x NAND y) NAND NOT z b) (x NAND y) NOR NOT z c) (x NOR y) NAND NOT z

Esercizio 18 Dato il seguente diagramma di flusso, dire se esso calcola: a) la somma dei numeri interi compresi tra 1 e 19 b) la somma dei numeri interi compresi tra 0 e 18 c) la somma dei numeri interi compresi tra 0 e 19 I n 0 i 19 si i = 0 n no i i -1 n i + n F Esercizio 19 Dire quale delle seguenti configurazioni di 16 bit rappresenta in base due il numero espresso in base 8 come 3745: 0000011111100101 0111011100011001 0001111111100101 Esercizio 20 Data la configurazione di 16 bit 0001110001101101, dire quale è il numero risultante dalla sua divisione per 16, incrementato di 1: 0000011111100101 0000000111000111 0000011100011100 Esercizio 21 Se nel linguaggio C fosse previsto solo il ciclo do-while, come si potrebbe ottenere l effetto degli altri tipi di ciclo (for, while)?

Esercizio 22 Scrivere un programma C che legga da tastiera una sequenza di 20 numeri interi con segno da intendersi come profitti (quelli positivi) e perdite (quelli negativi) di un azienda, e che calcoli e stampi la somma dei profitti e la somma delle perdite nonché il guadagno complessivo. Esercizio 23 Scrivere un programma che, preso in ingresso un numero intero positivo, calcoli quante cifre decimali e quante cifre binarie sono strettamente necessarie per rappresentarne il valore. (suggerimento: dividere ripetutamente con divisione intera il numero per la base, finchè il risultato non diventi zero). Esercizio 24 Scrivere un programma C che legga da tastiera la data di nascita di una persona nel formato giorno, mese, anno e successivamente la data odierna nello stesso formato, e calcoli l età della persona. Esercizio 25 Scrivere un programma che legga da tastiera un numero intero dispari e calcoli tutti i suoi divisori primi. Esercizio 26 Scrivere un programma che legga da tastiera tre numeri reali rappresentanti la lunghezza dei lati di un triangolo e ne fornisca l area. Esercizio 27 Scrivere un programma che letti due numeri reali da tastiera fornisca come risultato il numero 0 o il numero 1 a seconda che i due numeri siano o meno circa uguali. Esercizio 28 Supponendo di avere un programma C dove compare la dichiarazione di funzione: int f (int x) { x = (x+37)/2 return x } dire come occorre modificarne la chiamata: y = z + f(s); perché il programma si comporti nello stesso modo quando si sostituisca alla dichiarazione di f sopra riportata la segiente dichiarazione: void f (int x, int *ris) { *ris = (x+37)/2 }