Ritorna alla pagina del corso.

Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.

01: #include<stdio.h>
02: #include<stdlib.h>
03: 
04: int main(int argc, char **argv){
05: 
06:   printf("Inserisci un numero decimale tra 0 e 15: "); // ci fidiamo dell'utente...
07:   int x;
08:   scanf("%d", &x);
09: 
10:   // per convertire da decimale a binario si divide per due. 
11:   // Il resto e' la cifra meno significativa. Ripeto con il risultato e ottengo la seconda cifra meno significativa.
12:   // Ripeto fino a quando il risultato non diventa 0.
13:   // Ci limitiamo quindi a calcolare quattro divisioni e il relativo resto
14: 
15:   int b0, b1, b2, b3; // memorizzo i 4 bit per stamparli poi nell'ordine corretto
16: 
17:   b0 = x % 2; // resto divisione per 2 (puo' essere solo 0 o 1)
18:   x  = x / 2;
19: 
20:   b1 = x % 2; // ripeto per 4 volte
21:   x  = x / 2;
22: 
23:   b2 = x % 2; // ripeto per 4 volte
24:   x  = x / 2;
25: 
26:   b3 = x % 2; // ripeto per 4 volte
27:   // x  = x / 2; // ci fermiamo e quindi non serve
28: 
29:   printf("Le 4 cifre binarie meno significative del numero inserito sono %d%d%d%d\n", b3, b2, b1, b0);
30: 
31: 
32:   return 0;
33: }
34: 
35: