COMPITO IN CLASSE DI TPS Classe 3AInf
Transcript
COMPITO IN CLASSE DI TPS Classe 3AInf
COMPITO IN CLASSE DI TPS Classe 3AInf. a.s.2014-2015 IQuadrimestre ALUNNO__________________________ 1) Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento a due su 8 bit (indicando la presenza di un eventuale overflow): (00001101 + 00111101); (00001100 + 10110110); (00010100 – 01101111); (11110100 + 11101000); (00000001 + 11111110). Scrivere l’equivalente rappresentazione dei numeri e del risultato anche in decimale. 2) Siano date le seguenti coppie (a, b) di numeri binari su 8 bit: (11110101, 11101010) e (11001010, 01001100). Calcolare i risultati della differenza (a - b) considerando gli operandi codificati rispettivamente come: - numeri interi positivi; - numeri interi con segno rappresentati in complemento a 2. Indicare la presenza di un eventuale superamento nella rappresentazione . 3) Codificate il esadecimale tutti i numeri e i risultati degli esercizi precedenti e il valore restitutito nel registro dei flag. 4)Convertite in binario il numero 175,43 fermandovi alla terza cifra dopo la virgola Valutazione Il compito vale 10 punti Obiettivi Conoscere i principi della codifica binaria e il significato dei flag COMPITO IN CLASSE DI TPS Classe 3AInf. a.s.2014-2015 IQuadrimestre ALUNNO__________________________ 1) Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento a due su 8 bit (indicando la presenza di un eventuale overflow): (00001101 + 00111101); (00001100 + 10110110); (00010100 – 01101111); (11110100 + 11101000); (00000001 + 11111110). Scrivere l’equivalente rappresentazione dei numeri e del risultato anche in decimale. 2) Siano date le seguenti coppie (a, b) di numeri binari su 8 bit: (11110101, 11101010) e (11001010, 01001100). Calcolare i risultati della differenza (a - b) considerando gli operandi codificati rispettivamente come: - numeri interi positivi; - numeri interi con segno rappresentati in complemento a 2. Indicare la presenza di un eventuale superamento nella rappresentazione . 3) Codificate il esadecimale tutti i numeri e i risultati degli esercizi precedenti e il valore restitutito nel registro dei flag. 4)Convertite in binario il numero 175,43 fermandovi alla terza cifra dopo la virgola Valutazione Il compito vale 10 punti Obiettivi Conoscere i principi della codifica binaria e il significato dei flag SOLUZIONI 1) Soluzione: (00001101 + 00111101)=; (13 + 61)dec=a+b 0 1 0 0 1 0 1 0 (74)10 60 Capitolo 2 (00001100 + 10110110): = 0 0 1 1 1 1 0 0 ;(12-74)dec= 1 1 0 0 0 0 1 0 (–62)dec (00010100 – 01101111): R00010000 a 0 0 0 1 0 1 0 0 + (20)10 + b 1 0 0 1 0 0 0 1 (–111)10 a+b 1 0 1 0 0 1 0 1 (–91)10 (11110100 + 11101000): R11100000 a 1 1 1 1 0 1 0 0 + (–12)10 + b 1 1 1 0 1 0 0 0 (–24)10 a+b 1 1 0 1 1 1 0 0 (–36)10 (00000001 + 11111110): R00000000 a 0 0 0 0 0 0 0 1 + (1)10 + b 1 1 1 1 1 1 1 0 (–2)10 a+b 1 1 1 1 1 1 1 1 (–1)10 2) Soluzione: (11110101, 11101010): Considerando gli operandi numeri interi positivi rappresentati con 8 bit: Codifica dell'informazione 61 R11100000 a 1 1 1 1 0 1 0 1 + (245)10 + b 1 1 1 0 1 0 1 0 (234)10 a+b 1 1 0 1 1 1 1 1 overflow Considerando gli operandi numeri interi con segno rappresentati in modulo e segno con 8 bit, gli operandi risultano entrambi negativi (–117, –106)10. Si effettui la somma dei valori assoluti (rappresentati con 7 bit) degli operandi: R1100000 |a| 1 1 1 0 1 0 1 + (117)10 + |b| 1 1 0 1 0 1 0 (106)10 |a|+|b| 1 0 1 1 1 1 1 overflow Considerando gli operandi numeri interi con segno rappresentati in complemento a 1 con 8 bit, gli operandi risultano entrambi negativi (–10, –21)10. R11100000 a 1 1 1 1 0 1 0 1 + (–10)10 + b 1 1 1 0 1 0 1 0 (–21)10 11011111 Sommando al risultato così ottenuto il riporto in uscita dal bit più significativo si ottiene il risultato finale: 00011111 11011111+ 00000001 a+b 1 1 1 0 0 0 0 0 (–31)10 Considerando gli operandi numeri interi con segno rappresentati in complemento a 2 con 8 bit: R11100000 a 1 1 1 1 0 1 0 1 + (–11)10 + b 1 1 1 0 1 0 1 0 (–22)10 a+b 1 1 0 1 1 1 1 1 (–33)10 (11001010, 01001100): Considerando gli operandi numeri interi positivi rappresentati con 8 bit: R11001000 a 1 1 0 0 1 0 1 0 + (202)10 + b 0 1 0 0 1 1 0 0 (76)10 a+b 0 0 0 1 0 1 1 0 overflow Considerando gli operandi numeri interi con segno rappresentati in modulo e segno con 8 bit, gli operandi risultano (–74, +76)10. Essendo gli operandi di segno discorde, occorre confrontare i valori assoluti (rappresentati con 7 bit) ed effettuare la sottrazione binaria tra il minuendo (76)10 e il sottraendo (74)10 tenendo conto dei prestiti: 62 Capitolo 2 P0000010 |a| 1 0 0 1 1 0 0 – (76)10 – |b| 1 0 0 1 0 1 0 (74)10 |a|–|b| 0 0 0 0 0 1 0 (2)10 Premettendo il segno positivo al risultato si ottiene: 00000010 Considerando gli operandi numeri interi con segno rappresentati in complemento a 1 con 8 bit: R11001000 a 1 1 0 0 1 0 1 0 + (–53)10 + b 0 1 0 0 1 1 0 0 (+76)10 00010110 Sommando al risultato così ottenuto il riporto in uscita dal bit più significativo si ottiene il risultato finale: 00000000 00010110+ 00000001 a+b 0 0 0 1 0 1 1 1 (23)10 Considerando gli operandi numeri interi con segno rappresentati in complemento a 2 con 8 bit: R11001000 a 1 1 0 0 1 0 1 0 + (–54)10 + b 0 1 0 0 1 1 0 0 (76)10 a+b 0 0 0 1 0 1 1 0 (22)10