Prova di Sistemi corretta 3E Ottobre 2012

Prova formativa classe 3E – 19 ottobre 2012 - Laboratorio di Sistemi
1 Convertire in decimale e in esadecimale i seguenti numeri in binario puro (numeri binari senza
segno):
1. 0000 1100 dec=8+4=12
HEX=0C
2. 0010 1100 dec=32+8+4=44 HEX=2C
3. 0010 1001 dec=32+8+1=41 HEX=29
4. 0101 1101 dec=64+16+8+4+1=93 HEX=5D
5. 1100 1010 dec=128+64+8+2=202 HEX=CA
2 Convertire in binario puro i seguenti numeri decimali:
1. 13 =
8+4 +1
0000 1101
2. 21 =
16 +4 +1
0001 0101
3. 212 =128+64+ 16 +4
1101 0100
3 Convertire in binario i seguenti numeri esadecimali:
1. 39 0011 1001
2. 2E 0010 1110
3. EA 1110 1010
4 Sia dato il segmento di codice C# seguente:
ushort num = 5;
Sapendo che le variabili ushort (unsigned short) memorizzano numeri interi privi di segno in 2
Byte di RAM (2*8=16 bit), ricavare il numero minimo e quello massimo memorizzabili nella
variabile num.
Minimo 0000 0000 0000 0000 0
Massimo 1111 1111 1111 1111 215+214+213+212+211+210+29+…..+20 = 216-1 65535
5 Eseguire, convertendo i numeri decimali in numeri binari dotati di segno, le seguenti operazioni
aritmetiche:
1. 7 + 6 devo definire il numero di bit necessari con il bit di segno, il numero più
grande è 13 quindi mi servono 5 bit da -16 a +15, mi ricordo che il primo bit a sinistra
è 1 se il numero è negativo e allora in binario scrivo 00111 + 00110 = 01101
2. 17 – 5 devo definire il numero di bit necessari con il bit di segno, il numero più
grande è 17 quindi mi servono 6 bit da -32 a +31, mi ricordo che il primo bit a sinistra
è 1 se il numero è negativo e allora in binario scrivo 01 0001 – 00 0101 = 01 0001 +
111011 = (1) 00 1100
3. 5 - 12 devo definire il numero di bit necessari con il bit di segno, il numero più
grande è 12 quindi mi servono 5 bit da -16 a +15, mi ricordo che il primo bit a sinistra
è 1 se il numero è negativo e allora in binario scrivo 0 0101 – 0 1100 = 0 0101 + 1 0100
= 1 1001 (-7) 0 0111
N.B.: se il risultato è negativo ricavarne il valore assoluto 1 1001 (-7) 0 0111 (+7)
Per calcolare il complemento a 2 si parte dal bit meno significativo a destra e, spostandosi
verso sinistra, si lasciano i bit invariati fino al primo bit uguale a 1 che incontro (e lo lascio a
1), poi inverto tutti i bit rimanenti continuando a scorrere i bit verso sinistra
6 Si vuole partizionare su un Hard Disk da 250 GByte in due unità da 100 GByte e 150 GByte.
Ricavare le dimensioni delle due unità in MByte.
Ricordando che:
1kByte = 1024 Byte
1MByte= 1024 kByte = 1024 *1024 Byte
1GByte= 1024 MByte = 1024*1024*1024 Byte
100GByte= 100*1024 MByte=102’400 MByte
150GByte= 150*1024 MByte=153’600 MByte