Verifica: dai sistemi di numerazione all'organizzazione della memoria 3

tempo a disposizione: 1 620 s punteggio massimo: 10
quantità di domande: 27 punti di penalità per ogni secondo di ritardo: 0,006 17
tempo massimo per completare l'invio della stampa del risultato: 20 s
data:
cognome e nome:
classe e sezione (corso):

Per lo svolgimento della verifica può essere usata una calcolatrice comune; inoltre possono essere usati fogli di brutta copia, per annotare i calcoli intermedi. Non è consentito l'uso di applicazioni specializzate per la conversione automatica dei valori.

Quando viene richiesto di indicare valori numerici, non si deve specificare la base.

1) [0..0.37] Si converta il numero 111000112 in base dieci.

2) [0..0.37] Si converta il numero 1758 in base dieci.

3) [0..0.37] Si converta il numero 5116 in base due, utilizzando esattamente otto cifre binarie.

4) [0..0.37] Si converta il numero 1010102 in base otto.

5) [0..0.37] Si calcoli il complemento a uno del numero 001100112, dando un risultato in base due.

6) [0..0.37] Si calcoli il complemento a due del numero 001100112, dando un risultato in base due.

7) [0..0.37] Si esegua la somma di due valori interi privi di segno: 001011102 + 011111102. Il risultato deve essere rappresentato con otto cifre binarie.

8) [-0.37..+0.37] Il risultato ottenuto dalla somma precedente, è valido?

  1. Sì, perché la somma non ha generato il riporto.
  2. Sì, perché la somma ha generato il riporto.
  3. No, perché la somma non ha generato il riporto.
  4. No, perché la somma ha generato il riporto.
  5. Non so rispondere.

9) [0..0.37] Si esegua la sottrazione di due valori interi privi di segno: 001011102 - 001001102. Il risultato deve essere rappresentato con otto cifre binarie.

10) [-0.37..+0.37] Il risultato ottenuto dalla sottrazione precedente, è valido?

  1. Sì, perché la somma non ha generato il riporto.
  2. Sì, perché la somma ha generato il riporto.
  3. No, perché la somma non ha generato il riporto.
  4. No, perché la somma ha generato il riporto.
  5. Non so rispondere.

11) [0..0.37] Si esegua la somma di due valori interi provvisti di segno: 001011102 + 001001102. Il risultato deve essere rappresentato con otto cifre binarie.

12) [-0.37..+0.37] Il risultato ottenuto dalla somma precedente, è valido?

  1. Sì, perché il segno del risultato è uguale al segno degli addendi.
  2. Sì, perché il segno del risultato è diverso dal segno degli addendi.
  3. Sì, perché la somma di due valori con segno differente dà sempre un risultato valido.
  4. No, perché il segno del risultato è uguale al segno degli addendi.
  5. No, perché il segno del risultato è diverso dal segno degli addendi.
  6. No, perché la somma di due valori con segno differente dà sempre un risultato non valido.
  7. Non so rispondere.

13) [0..0.37] Si indichi il numero binario che si ottiene copiando il valore 000101012 in una variabile che può contenere solo quattro cifre.

14) [-0.37..+0.37] Se l'operazione richiesta al punto precedente riguardasse numeri privi di segno, il risultato sarebbe valido?

  1. Sì, perché il valore rappresentato è lo stesso di quello originale.
  2. No, perché il valore rappresentato è differente rispetto a quello originale.
  3. Non so rispondere.

15) [-0.37..+0.37] Se invece l'operazione richiesta al punto precedente riguardasse numeri provvisti di segno, il risultato sarebbe valido?

  1. Sì, perché il valore rappresentato è lo stesso di quello originale.
  2. No, perché il valore rappresentato è differente rispetto a quello originale.
  3. Non so rispondere.

16) [0..0.37] Il numero 10102, privo si segno, viene esteso in modo da utilizzare otto cifre binarie.

17) [0..0.37] Il numero 10102, provvisto si segno, viene esteso in modo utilizzare otto cifre binarie.

18) [0..0.37] Si esegua lo scorrimento logico a sinistra (di una sola cifra) su un numero intero privo di segno: 101010102.

19) [0..0.37] Si esegua lo scorrimento aritmetico a destra (di una sola cifra) su un numero intero provvisto di segno: 100000012.

20) [0..0.37] Si esegua l'operazione logica seguente: 111100102 AND 011011002.

21) [0..0.37] Si esegua l'operazione logica seguente: 111100102 OR 011011002.

22) [0..0.37] Si esegua l'operazione logica seguente: 111100102 XOR 011011002.

23) [0..0.37] Si esegua l'operazione logica seguente: NOT 111100102.

24) [0..0.37] In memoria viene rappresentato un array di elementi da tre unità di memoria ciascuno. Se l'indirizzo iniziale di questo array è 3C16, qual è l'indirizzo necessario a raggiungere in memoria il quarto elemento dell'array? Si esprima il risultato in base sedici.

25) [0..0.37] In memoria viene rappresentata la stringa «Ciao ciao!» (senza le virgolette), completa di codice nullo di terminazione. Sapendo che ogni carattere occupa una sola unità di memoria, sapendo inoltre che la stringa inizia all'indirizzo 3416, qual è l'indirizzo finale della stringa, corrispondente proprio al codice nullo di terminazione? Si esprima il risultato in base sedici.

26) [0..0.37] In memoria viene rappresentato il valore 11110011110011002, utilizzando per questo due celle di memoria (pertanto ogni cella consente di memorizzare un byte costituito da otto bit). Per raggiungere in memoria questo valore si utilizza un certo indirizzo. Sapendo che la CPU accede alla memoria in modalità big endian, se da quel indirizzo si volesse leggere una sola cella (un solo byte), cosa si otterrebbe?

27) [0..0.37] Utilizzando gli stessi dati del punto precedente, cosa si otterrebbe se invece la CPU accedesse alla memoria in modalità little endian?

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net