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.