CODIFICA NUMERI NATURALI esercizio: conversione da base

CODIFICA NUMERI NATURALI
esercizio: conversione da base binaria a base decimale (numero bit = 5)
100012 = 1*24 + 0*23 + 0*22 + 0*21 + 1*20 = 1710
esercizio: convertire da base decimale a base binaria (numero bit = 5)
2410 = 110002
24:2 = 12
0
12:2 = 6
0
6:2 = 3
0
3:2 = 1
1
1:2 = 0
1
esercizio: convertire da base esadecimale a base decimale
A7E16 = 10*162 + 7*161 * 14*160 = 268610
esercizio:
sommare 37 e 12 dopo averli convertiti in base 2 (usare 6 bit per la codifica)
3710 = 1001012
1210 = 0011002
100101 + 001100 = 110001
convertire il risultato
1100012 = 4910
c'è overflow? NO
esercizio:
sommare 37 e 34 dopo averli convertiti in base 2 (usare 6 bit per la codifica)
3710 = 1001012
3410 = 1000102
100101 + 100010 = 1 000111
convertire il risultato
1 00011112 = 7110
c'è overflow? SI
intervallo discreto dei numeri rappresentabili: [0, 26 -1] = [0, 63]
CODIFICA NUMERO INTERI
esercizio: codificare in CPL2 3 e -12, farne la somma e convertire in base decimale il risultato.
(numero di bit = 5)
3 = 00011
-12 = 10100 calcolato come (25-12) e codificato in base binaria
00011 + 10100 = 10111
c'è overflow? NO
10111 = -1*1*24 + 0*23 * 1*22 + 1*21 + 1*20 = -9
esercizio: codificare in CPL2 9 e 8, farne la somma e dire se si verifica overflow. (numero di bit = 5)
9 = 01001
8 = 01000
01001 + 01000 = 10001
c'è overflow? SI, gli addendi hanno segno concorde mentre il risultato ha segno discorde.
CODIFICA NUMERI FRAZIONARI
esercizio: codificare 0,37 in base 2 (numero di bit per la parte frazionaria = 5)
0,37 = 0,01011
0,37 * 2 = 0,74
0
0,74 * 2 = 1,48
1
0.48 * 2 = 0.96
0
0,96 * 2 = 1,92
1
0,92 * 2 = 1,84
1
VIRGOLA MOBILE (FLOATING POINT)
esercizio: convertire in decimale
S=0
E = 00110011
M = 00000000110000000000000
S → numero positivo
E = 51 → E – k = 51 - 127 = -76
M = 2-9 + 2-8 = 0,002929688
1,002929688 * 2-76 = 1,3274 e-23
esercizio: convertire in decimale
S=1
E = 10000010
M = 11110100011110101110001
S → numero negativo
E = 130 → E – k = 130 – 127 = 3
M = 2-1 + 2-2 + 2-3 + … = 0,9550
-1,9550 * 23 = -15,64
esercizio: convertire 7,45 usando la precisione singola dello standard IEEE 754-1985
S=0
M:
7 = 111 → 1,11 con esponente 2
ho a disposizione 21 bit per rappresentare la parte frazionaria (23 - 2 = 21)
0,45 = 011100110011001100110
M = 11011100110011001100110
E:
esponente + k = 2 + 127 = 129
129 = 10000001
E = 10000001
esercizio: convertire -134,37 usando la precisione singola dello standard IEEE 754-1985
S=1
M:
134 = 10000110 → 1,0000110 con esponente 7
ho a disposizione 16 bit per rappresentare la parte frazionaria (23 - 7 = 16)
0,37 = 0101111010111000
M = 00001100101111010111000
E:
esponente + k = 7 + 127 = 134
134 = 10000110
E = 10000110