Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO
Facoltà di Ingegneria Università degli Studi di Udine
Soluzioni degli esercizi sulla codifica dei numeri
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
Nota di Copyright
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3
Conversione dalla base 2 alla base 10
Convertire in base 10 il numero (1101) 2 a) considerando la rappresentazione in
binario puro 13 10
b) considerando la rappresentazione in complemento a 2 su 4 bit
-3 10
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4
Conversione dalla base 10 alla base 2 Convertire in base 2 il numero (35) 10
100011 2
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5
Conversione dalla base 2 alla base 10
Convertire in base 10 il numero (.1101) 2 0.8125 10
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6
Conversione dalla base 2 alla base 10
Quanti bit sono necessari per rappresentare il numero 273 10 ? E quanti byte?
9 bit, 2 byte
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7
Conversioni di base
• Si converta il numero 29 10 in base 3
29 9 3 1 0
:3 2 0 0 1
1002
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8
Conversioni di base
• Si converta il numero -29 10 in esadecimale su 8 bit
29 14 7 3 1 0
:2 1 0 1 1 1
0001 1101
complemento a 2 1110 0011
in esadecimale E 3 h
(1110) (0011)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9
Conversioni di base
• Convertire in base 3 il numero 0.3 10 0.0220, infatti:
0.3 0 0.9 2 0.7 2 0.1 0 0.3
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10
Conversioni di base
• Si converta il numero 1104 5 in decimale 154
• Si converta il numero 0.23 10 in base 5 0.103 5
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11
Conversioni di base
• Si converta il numero 12.3 10 in base 3 110.1 3
parte intera 12 0
4 1 1 1 0
parte frazionaria 0.3 1 0.0
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12
Conversioni di base
• Convertire il numero 3218 10 in BCD
0011 0010 0001 1000
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13
Operazioni
• Si calcoli il risultato della seguente operazione effettuata su un elaboratore a 8 bit che opera in complemento a 2:
7F h + FF h = 7E h
• Il risultato ottenuto è corretto?
Sì
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14
Operazioni
• Si calcoli il risultato delle seguenti operazioni effettuata su un elaboratore a 16 bit che opera in complemento a 2:
0001 h + FFFF h = 0 h FFFF h + FFFF h = FFFE h 8000 h + FFFF h = OVERFLOW 8000 h + 7FFF h = FFFF h 0008 h + 000F h = 0017 h 0008 h + 7FFF h = OVERFLOW
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15
Operazioni
• In quale base è corretta l’espressione AB + 1 = B0?
Base 12
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16
Operazioni
• Si esegua la seguente operazione su 8 bit in complemento a 2 e si rappresenti il risultato in esadecimale:
-40 10 + 14 10
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17
Operazioni
40 0 20 0 10 0 5 1 2 0 1 1 0
00101000 c. a 2
11011000
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18
Operazioni
14 0 7 1 3 1 1 1 0
00001110
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19
Operazioni
11011000 + 00001110 11100110 = E6 h
-00011010 = -26 10 verifica
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 20
Rappresentazione floating point
• Una variabile reale con
rappresentazione in floating point, singola precisione, eccesso 127, contiene il valore BD000000. Quanto vale il numero reale da essa
rappresentato?
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 21
Rappresentazione floating point
• Il primo bit, di segno, vale 1 e quindi il valore rappresentato è negativo
• L’esponente vale 01111010, cioè 122. Nella rappresentazione in eccesso 127 significa -5, quindi la mantissa va moltiplicata per 2 -5 , cioè divisa per 32
• La mantissa è tutta a zero, quindi resta solo il valore 1 sottinteso (per via della
normalizzazione)
• Quindi: 1 / 32 = -0.03125
B D 0 0 0 0 0 0 1011 1101 0000 0000 0000 0000 0000 0000
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 22
Programma per conversione a base generica
Si scriva un programma in linguaggio C che converta un numero reale in una base qualsiasi (compresa tra 2 e 16). La precisione massima richiesta è 10 -15 .
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 23
Conversione a base generica
C:\>cbase
base di destinazione (2-16): 4 numero (>= 0): 7
13 C:\>cbase
base di destinazione (2-16): 2 numero (>= 0): 7.5
111.1 C:\>cbase
base di destinazione (2-16): 3 numero (>= 0): .1
0.00220022002200220022002200220022 C:\>cbase
base di destinazione (2-16): 2 numero (>= 0): .3
0.01001100110011001100110011001100110011001100110011
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 24