2E Esercitazione UD2
Transcript
2E Esercitazione UD2
L’aritmetica del computer Fondamenti di Informatica ESERCITAZIONE Esercitazione su UD 2 Aritmetica del computer RAPPRESENTAZIONE NUMERI NEL COMPUTER Corso di Laurea in Ingegneria Informatica e dell’Automazione A.A. 2012-2013 2° Semestre Prof. Giovanni Pascoschi Fondamenti di Informatica – A.A. 2012-2013 Esercitazione 2 Esercitazione Interi Interi Esercizio 1 Ricavare il numero di bit necessari m e convertire in base 2 i seguenti numeri interi, usando il CPL2: –810 +810 Risposte: m=4; –810 = 10002 m=5; +810 = 010002 a cura di Pascoschi Giovanni infatti (8)10= (1000)2 Fondamenti di Informatica – A.A. 2012-2013 (0111)CPL1=(1000)CPL2 a cura di Pascoschi Giovanni 3 Esercizio 2 Convertire in base 2, se possibile, i seguenti numeri interi, usando il CPL2 e con un numero di bit m=8 bit: +12710 –12810 +12810 Risposte: +12710 = 011111112 –12810 = 100000002 10000000 in CPL1 0111111 in CPL2 = CPL1 +1 = 10000000 +12810 = non è possibile su 8 bit. Usando 8 bit posso convertire [128 , +127]. Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 4 Esercitazione Esercitazione Reali virgola fissa Esercizio 3 Convertire in binario le parti frazionarie dei seguenti numeri decimali, usando n=5 bit decimali. Calcolare, inoltre, l’errore ε: 0,34110 65,8210 Risposte: 0,34110 * 2= 0,68220 0 0,68220 * 2= 1,36440 1 0,36440 * 2= 0,72880 0 0,72880 * 2= 1,45760 1 0,45760 * 2= 0,91520 0 (0,01010)2 = 1*2-2+1*2-4 = 0,25 + 0,0625 = 0,3125 ε = 0,34110 – 0,3125 = 0,02860 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni Reali virgola fissa Risposte: (65)10= (1000001)2 0,8210 * 2= 1,6420 0,6420 * 2= 1,2840 0,2840 * 2= 0,5680 0,5680 * 2= 1,1360 0,1360 * 2 = 0,2720 1 1 0 1 0 (0,11010)2 = 1*2-1+1*2-2 +1*2-4= 0,5+0,25 + 0,0625 = 0,8125 ε = 65,8210 – 65,8125 = 0,0085 65,8210 ≈ 1000001,11010 5 Esercitazione Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 6 Esercitazione Reali virgola fissa Reali virgola mobile Esercizio 4 Convertire in binario il seguente numero decimale, usando m=8 bit (intera) e n=4 bit (decimale): –74,1210 Esercizio 5 Rappresentare in base 10 ed in forma normalizzata: 1234,55 0,00072 –456 –0,00386 Risposte: 1234,55 = 0,123455⋅⋅104 0,00072 = 0,72⋅⋅10–3 –456 = –0,456⋅⋅103 –0,00386 = –0,386⋅⋅10–2 Risposta: parte intera: –7410 7410 =01001010 10110101 CPL 1 10110110 CPL2 parte frazionaria: 0,1210 = 0,00012 –74,1210 = 10110110,00012 (0,0001)2 = 1*2-4= 0,0625 = 0,0625 ε = 74,12 – 74,0625 = 0,0575 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 7 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 8 Esercitazione Esercitazione Reali virgola mobile Reali virgola mobile Esercizio 6 Un numero relativo e’ rappresentato in virgola mobile secondo lo standard IEEE 754 su 32 bit nel seguente modo: s = 1 ; e = 10000111 ; m = 11011000000000000000000 Ricavare il corrispondente valore decimale. Soluzione Dato che: e = (10000111)2 = (135)10 Si ha: N = (−1)s ・ 2(e−127) ・ 1.m = −1 ・ 2135−127 ・ 1.11011 = −1 ・ 28 ・ 1.11011 = −1110110002 = −(28 + 27 + 26 + 24 + 23)10 = −47210 Fondamenti di Informatica – A.A. 2012-2013 Esercizio 7 Convertire il seguente numero decimale in virgola mobile in singola precisione secondo lo standard IEEE 754: −23.37510 N10 = −23.37510 = −10111.0112 = −1.01110112 ・ 24 s=−=1 e=4 car = 4 + 127 = 13110 = 100000112 m = 1.0111011 = 0111011 (con hidden bit) NFP = 1| 10000011 | 0111011000 . . . = C1BB000016 9 a cura di Pascoschi Giovanni Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 10 Esercizi per casa Esercizi per casa Esercizio 1 Adottando una codifica in virgola fissa su 10 bit, di cui 4 bit frazionari, si effettuino le seguenti conversioni di base: • 23,750 dalla base 10 alla base 2 • 0110101101 dalla base 2 alla base 10 Esercizio 3 Rappresentare il numero decimale reale 3.3 in base 2, con la seguente precisione: • precisione assoluta Ɛ= 2-2 Esercizio 2 Adottando una codifica in virgola fissa su 8 bit, di cui 4 bit frazionari, si effettuino le seguenti conversioni di base: • 5,3 dalla base 10 alla base 2 • 0110,1011 dalla base 2 alla base 10 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 11 Esercizio 4 Sia data la stringa binaria 010101. Dire a quali numeri decimali corrisponda nelle tre ipotesi che sia codificata in binario puro, modulo e segno o complemento a due. Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 12 Esercizi per casa L’aritmetica del computer Esercizio 5 Convertire i seguenti numeri decimali in virgola mobile in singola precisione secondo lo standard IEEE 754: −127.2510 +131.510 Esercizio 6 Siano dati i seguenti numeri binari in virgola mobile in singola precisione secondo lo standard IEEE 754, espressi in base hex: BE90000016 438AA00016 Calcolare il corrispondente valore in base decimale. Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 13 Esercitazione ESERCITAZIONE ARITMETICA NEL COMPUTER Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni Esercitazione Somma Somma Esercizio 8 Convertire in binario e calcolare il risultato delle seguenti operazioni (numero di bit m=7): 1910 + 4510 ? 7410 + 5310 ? 7410 + 5410 ? Risposte: 1910 + 4510 = 100112+1011012=10000002 7410 + 5310 = 10010102+1101012=11111112 1001010+ 110101= ----------1111111 10011+ 101101= ------------1000000 7410 + 5410 = 100000002 (cioè, ho un carry: risultato scorretto se uso 7 bit) Fondamenti di Informatica – A.A. 2012-2013 14 a cura di Pascoschi Giovanni 15 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 16 Esercitazione Esercitazione Somma Esercizio 9 Convertire in binario e calcolare il risultato delle seguenti operazioni (m=7): +5410 +310 -5410 –310 -5410 +310 –5410 –3210 +1910 +4510 Risposte: +5410 +310 = 01101102+00000112=01110012= (57)10 Somma -5410 -310 = -01101102-00000112= (1001010)CPL2+(1111101)CPL2 = (11000111) CPL2 = -5710 100 1010+ 111 1101= --------------(1100 0111)CPL2 = (100 0110)CPL1 = -(0111001)2 = -5710 011 0110+ 000 0011= ---------------------------- 011 1001 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 17 Esercitazione Fondamenti di Informatica – A.A. 2012-2013 18 Esercitazione Somma Somma 5410 -310 = 01101102-00000112= 0110110+(1111101)CPL2 = (0110011) = 5110 -5410 -3210 = -01101102-01000002= (1001010)CPL2+(1100000)CPL2 = = (10101010) 2 = overflow perché il segno 0 è discorde dai due segni degli operandi 011 0110+ 111 1101= --------------(1011 0011) = (51)10 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 100 1010+ 110 0000= -------------1010 1010 a cura di Pascoschi Giovanni 19 Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 20 Esercitazione Esercizi per casa Esercizio 7 Si considerino i due seguenti numeri binari, rappresentati in complemento a 2 su 8 bit, e per comodita’ qui riportati in base 16: A = C316 e B = 4A16. Si calcoli, eseguendo le operazioni in binario, il risultato delle operazioni A+B e A-B. Si riporti il risultato dell’operazione in binario CPL2 su 8 bit. Si dica in ciascuno dei casi se si verifica una condizione di overflow. Somma +1910 +4510 = 00100112+01011012= (1000000) 2 = overflow perché il risultato ha sovrapposto il bit del segno segno 1 discorde dai due operandi 001 0011+ 010 1101= -------------100 0000 Esercizio 8 Dati i numeri A = 11010011 e B = 01110011, entrambi codificati in CPL2 su 8 bit, si eseguano direttamente in complemento a due le operazioni A+B ed A-B, indicando in quali casi si verifica una condizione di overflow, e perche’. Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 21 Sommario della lezione Fondamenti di Informatica – A.A. 2012-2013 a cura di Pascoschi Giovanni 22 a cura di Pascoschi Giovanni 24 Fine della lezione Esercitazione su UD2 Rappresentazione numeri nel computer Aritmetica del computer Fondamenti di Informatica – A.A. 2012-2013 Domande? a cura di Pascoschi Giovanni 23 Fondamenti di Informatica – A.A. 2012-2013