Esercizi numeri

Esercitazione su rappresentazione dei numeri decimali interi

SOLUZIONE ESERCIZIO

  1. Converti i seguenti numeri decimali in numeri binari equivalenti:

    1. 19.25D

    2. 123.456D

19.25D

19/2 = 9 resto 1
 9/2 = 4 resto 1
 4/2 = 2 resto 0
 2/2 = 1 resto 0
 1/2 = 0 resto 1
 
 0.25 * 2 = 0.5 intero 0
 0.5  * 2 = 1.0 intero 1
 
  Quindi 19.25D = 10011.01B 
123.456D


123 /2 = 61 resto 1
61 /2 = 30 resto 1
30 /2 = 15 resto 0
15 /2 = 7 resto 1
7 /2 = 3 resto 1
3/2 = 1 resto 1
1/ 2 = 0 resto 1


1111011 per la parte intera

Per la parte frazionaria:

 1) 0.456 × 2 = 0 + 0.912;
 2) 0.912 × 2 = 1 + 0.824;
 3) 0.824 × 2 = 1 + 0.648;
 4) 0.648 × 2 = 1 + 0.296;
 5) 0.296 × 2 = 0 + 0.592;
 6) 0.592 × 2 = 1 + 0.184;
 7) 0.184 × 2 = 0 + 0.368;
 8) 0.368 × 2 = 0 + 0.736;
 9) 0.736 × 2 = 1 + 0.472;
10) 0.472 × 2 = 0 + 0.944;
11) 0.944 × 2 = 1 + 0.888;
12) 0.888 × 2 = 1 + 0.776;
13) 0.776 × 2 = 1 + 0.552;
14) 0.552 × 2 = 1 + 0.104;
15) 0.104 × 2 = 0 + 0.208;
16) 0.208 × 2 = 0 + 0.416;
17) 0.416 × 2 = 0 + 0.832;
18) 0.832 × 2 = 1 + 0.664;
19) 0.664 × 2 = 1 + 0.328;
20) 0.328 × 2 = 0 + 0.656;
21) 0.656 × 2 = 1 + 0.312;
22) 0.312 × 2 = 0 + 0.624;
23) 0.624 × 2 = 1 + 0.248;
24) 0.248 × 2 = 0 + 0.496;
25) 0.496 × 2 = 0 + 0.992;
26) 0.992 × 2 = 1 + 0.984;
27) 0.984 × 2 = 1 + 0.968;
28) 0.968 × 2 = 1 + 0.936;
29) 0.936 × 2 = 1 + 0.872;
30) 0.872 × 2 = 1 + 0.744;
31) 0.744 × 2 = 1 + 0.488;
32) 0.488 × 2 = 0 + 0.976;
33) 0.976 × 2 = 1 + 0.952;
34) 0.952 × 2 = 1 + 0.904;
35) 0.904 × 2 = 1 + 0.808;
36) 0.808 × 2 = 1 + 0.616;
37) 0.616 × 2 = 1 + 0.232;
38) 0.232 × 2 = 0 + 0.464;
39) 0.464 × 2 = 0 + 0.928;  <--- DA QUI SI REPETE
40) 0.928 × 2 = 1 + 0.856;
41) 0.856 × 2 = 1 + 0.712;
42) 0.712 × 2 = 1 + 0.424;
43) 0.424 × 2 = 0 + 0.848;
44) 0.848 × 2 = 1 + 0.696;
45) 0.696 × 2 = 1 + 0.392;
46) 0.392 × 2 = 0 + 0.784;
47) 0.784 × 2 = 1 + 0.568;
48) 0.568 × 2 = 1 + 0.136;
49) 0.136 × 2 = 0 + 0.272;
50) 0.272 × 2 = 0 + 0.544;
51) 0.544 × 2 = 1 + 0.088;
52) 0.088 × 2 = 0 + 0.176;
53) 0.176 × 2 = 0 + 0.352;
54) 0.352 × 2 = 0 + 0.704;
55) 0.704 x 2 = 1 + 0.408;
56) 0.408 x 2 = 0 + 0.816;
57) 0.816 x 2 = 1 + 0.732;
58) 0.732 x 2 = 1 + 0.464; <---

Quindi la conversione di 0.456D = 
(0.0111 0100 1011 1100 0110 1010 0111 1110 1111 10 (01 1101 1011 0010 0010 11) ricorrente) 

Come altro esempio, calcoliamo la rappresentazione binaria di 0.1:

0.1 * 2 = 0.2 intero 0
0.2 * 2 = 0.4 intero 0 <----
0.4 * 2 = 0.8 intero 0
0.8 * 2 = 1.6 intero 1
0.6 * 2 = 1.2 intero 1 <--- DA QUI CONTINUA A RIPETERSI
0.2 * 2 = 0.4 intero 0 
0.4 * 2 = 0.8 intero 0
0.8 * 2 = 1.6 intero 1
0.6 * 2 = 1.2 intero 1 

Quindi la conversione 0.1D = (0.00011 (0011) recurring)

NUMERI INTERI CON SEGNO

Esercizio 1: con n=8, dimensione del registro, la sequenza di bit: 0 100 0001B

a che numero decimale corrisponde?

Esercizio 2: con n=8, la sequenza di bit: 1 000 0001B

a che numero decimale corrisponde?

Esercizio 3: con n=8, la sequenza di bit: 0 000 0000B

a che numero decimale corrisponde?

Esercizio 4: con n=8, la sequenza di bit: 1 111 1111B

a che numero decimale corrisponde?

Esercizi rappresentazione numeri floating point

  1. Ricavare il valore decimale del seguente numero in virgola mobile rappresentato secondo lo standard IEEE 754 a 32 bit: 0 10000000 10000000000000000000000

    Soluzione:

    Segno: +

    Esponente: E = 2^7 = 128 esp = 128 -127 = 1

    Mantissa: mant = 1.1

    -> N = 1.1B * 2^1 = 11B = 3D

  2. Rappresentare il numero decimale –4.5 secondo lo standard in virgola mobile IEEE 754 a 32 bit.

    Soluzione:

    Segno: 1

    Rapp. binaria: 4.5D = 100.1B

    Forma normalizzata: N = 1.001 * 2^2

    Esponente: esp = 2 -> E = 2 + 127 = 129D = 10000001

    -> IEEE 754: 1 10000001 0010........0

  3. Rappresentare il numero decimale 0.25 secondo lo standard in virgola mobile IEEE 754 a 32 bit.

    Soluzione:

    Segno: 0

    Rapp. binaria: 0.25D = 0.01B

    Forma normalizzata: N = 1.0 * 2^-2

    Esponente: esp = -2 -> E = -2 + 127 = 125D = 01111101B

    -> IEEE 754: 0 01111101 000......0

Last updated

Was this helpful?