raccolta di esercizi svolti

RAPPRESENTAZIONE DELLE INFORMAZIONI
ESERCIZI SVOLTI
1.
In che modo è rappresentato nel computer il dato 13 di tipo short int?
Soluzione: il tipo di dato short int serve per rappresentare numeri interi con segno su 2 byte.
Essendo il numero positivo, si tratta allora di scrivere il numero dato in binario su 16 bit, cioè
0000000000001101
2.
Quali numeri si possono rappresentare con un dato di tipo unsigned long int?
Soluzione: il tipo di dato unsigned long int serve per rappresentare numeri interi senza segno su 4
byte. Seguendo la regola per i numeri interi senza segno, secondo cui con n bit si possono
rappresentare tutti i numeri da 0 a 2n -1, con n=32 bit si possono rappresentare tutti i numeri da 0
a 232 – 1, cioè da 0 a 4294967295.
3.
In che modo è rappresentato nel computer il dato -25 di tipo long int?
Soluzione: i numeri interi negativi sono rappresentati in complemento a 2. Inoltre, il tipo di dato
long int serve per rappresentare i numeri interi con segno su 4 byte. Si tratta allora di trovare, su
32 bit, il complemento a 2 del numero 25 in binario. Scriviamo il numero 25 in binario su 32 bit
00000000000000000000000000011001
E facciamo il suo complemento a 2: invertiamo tutti i bit e sommiamo 1
11111111111111111111111111100110 +
1=
_________________________________
11111111111111111111111111100111
4.
In che modo è rappresentato nel computer il dato 1.2 di tipo float?
Soluzione: i numeri reali di tipo float sono rappresentati in virgola mobile su 4 byte. Trasformiamo
in virgola mobile il numero dato
1.2 = 0.12E1
troviamo così che mantissa = 12, esponente = 1.
Ricordando la divisione dei bit nel tipo float, partendo da i bit più a sinistra abbiamo:
0
bit di segno della mantissa
10000000
esponente + 127
00000000000000000001100
mantissa
Quindi, il numero dato è rappresentato come
01000000000000000000000000001100
5.
In che modo è rappresentato nel computer il dato -0.005 di tipo float?
Soluzione: i numeri reali di tipo float sono rappresentati in virgola mobile su 4 byte. Trasformiamo
in virgola mobile il numero dato
-0.005 = -0.5E-2
troviamo così che mantissa = -5, esponente = -2.
Ricordando la divisione dei bit nel tipo float, partendo da i bit più a sinistra abbiamo:
1
bit di segno della mantissa
01111101
esponente + 127 (125 in binario)
11111111111111111111011
mantissa (complemento a 2 di 5)
Quindi, il numero dato è rappresentato come
10111110111111111111111111111011
6.
Quali numeri interi si possono rappresentare con un dato di tipo long int?
Soluzione: il tipo di dato long int serve per rappresentare numeri interi con segno su 4 byte.
Seguendo la regola per i numeri interi con segno, secondo cui con n bit si possono rappresentare
tutti i numeri da -2n-1 a 2n-1 -1, con n=32 bit si possono rappresentare tutti i numeri da -231 fino a
231 – 1, cioè da -2147483648 a 2147483647.
7. In che modo sono rappresentati i caratteri nel computer?
Soluzione: i caratteri sono rappresentati in codifica ASCII oppure in codifica UNICODE. La prima
prevede che ogni a diverso carattere corrisponda un codice di 8 bit, la seconda invece associa a
ogni carattere un codice di 16 bit.
8. In che modo è rappresentato il numero -15 su parole di 5 bit?
Soluzione: I numeri negativi sono rappresentati in complemento a 2. Scriviamo allora in binario il
numero 17 su 5 bit
01111
E facciamo il suo complemento a 2:
10000 +
1=
______
10001
9. In che modo è rappresentato il numero -17 su parole di 5 bit?
Soluzione: Non è possibile rappresentare tale numero. Infatti, con soli 5 bit a disposizione il
numero negativo più piccolo rappresentabile è il numero -24 = -16.