View
222
Download
1
Category
Preview:
Citation preview
27+ 12=--- 39
Risultato troppo grande 27+12
64-39 = 25 -25 64-25= 39
= -25 errore di overflow
in binario 011011+ 001100=-------0100111
011000riporto
I due ultimi riporti sono diversi
37+ 52=--- 89
Risultato troppo piccolo (-27)+(-12)
89-64 = 25
= 25 errore di overflow-27 64-27= 37
-12 64-12= 52
in binario 100101+ 110100=-------1011001
100100riporto
I due ultimi riporti sono diversi
Riporto 100100 x 100101 + y 110100 = ------- s 1011001
x0
0
ADD
y0
s0
x1
y1
s1
x2
y2
s2
x3
y3
s3
x4
R5
y4
s4
x5
y5
s5
ADDADDADDADDADD
R4 R3 R2 R1R6
R5
X
Bit di overflow
due fatti importanti:
•una somma dà overflow se e solo se i riporti in colonna n ed n-1 sono diversi
•Se non c’è overflow allora basta buttare l’eventuale bit in colonna n del risultato (ovvero l’ultimo riporto) per ottenere il risultato corretto
Rappresentazione decimale e binaria dei razionali
5 : 4 = 1,25 10 20 0
54
1,2510
in binario
101100
101 : 100 = 1,01 100 0
1,012
parte interabinaria
parte frazionaria binaria
parte interadecimale
parte frazionaria decimale
7 : 3 = 2,33.. 10 10 1
73
in binario
11111
111 : 11 = 10,01001001.. 0100 100 100
2,333..10 =
2,310
10,0100100..2
= 10,0102
7 : 5 = 1,4 20 0
75
in binario
111101
111 : 101 = 1,0110001000.. 1000 110 1000 110 1000
1,410
1,0110001000..2
= 1,0110002
3,141592....10
in binario
?
REALE BINARIO
cosa significa una parte frazionaria binaria:
0,1101001
2-1+ 2-2 + 2-4 + 2-7
0,1101001 moltiplicarlo per 2 significa spostare la virgola di un posto a destra
1,101001
2-1 2-2...
20 2-1.......
se abbiamo un reale in base 10: ad esempio
0,99
come troviamo la sua rappresentazione in base 2? Ragioniamo come segue:
supponiamo che 0,99 = 0,b1b2b3...bk (binario)
allora 2 0,99 = 1,98 = b1,b2b3...bk
quindi b1 è 1
e 0,98 è rappresentato da 0,b2b3...bk
per trovare la rappresentazione binaria di un decimale lo moltiplichiamo per 2 ed osserviamo se 1 appare nella parte intera:
0,592= 1,180,182= 0,360,362= 0,72
0,722= 1,440,442= 0,880,882= 1,76 .......
0,100101...dipende da quanti bit abbiamo a disposizione
rappresentazione binaria di 0,59
esempio
18,59
18 10010
0,59 0,100101...
10010,100101....
Rappresentazione dei Reali in un computer
1 8 23
s e+127 m
Rappresenta:
x = s 2e · 1,m
implicito
Siccome 0 e 255 sono speciali:
1 e+127 254 quindi
-126 e 127
1 0010,100101......,e = 4
0 0010100101...........10000011
127+4 = 131=100000112
12,65 1100, ???
0,652 = 1.30 0,302 = 0.60 0,602 = 1.20 0,202 = 0.40 0,402 = 0.80 0,802 = 1.60 …..
101001...
esempio di rappresentazione in virgola mobile:
1100,101001...
1100,101001... = 23 1,100101001...
mantissa = 1,100101001...
esponente 3 e quindi 3+127 = 130
esponente = 10000010
segno = 0
0 10000010 100101001...
- 0,0011001...
0,0011001... = 2-3 1,1001...
mantissa = 1,1001...
esponente -3 e quindi -3+127=124
esponente = 01111100
segno = 1
1 01111100 1001...
Rappresentazione dei Reali “piccoli”
1 8 23
s 0 m
Rappresenta:
x = s 2-126 0,m
implicito
0 0,m < 1 quindi -2-126 < x < 2-126
Rappresentazione dei Reali “grandi”
1 8 23
s 255 0
Rappresenta: Si può ottenere come risultato di qualche operazione aritmetica (es: divisione per 0).
Se lo si usa come operando in una operazione aritmetica si ha un errore.
quanti reali si rappresentano?
con una parola, cioè 32 bits possiamo rappresentare 232 cose, quindi al più 232 reali, la novità è che questi valori non sono distribuiti uniformemente come gli interi ma sono maggiormente concentrati in vicinanza dello 0 e si diradano sempre più allontanandosi dallo 0.
Distribuzione disuniformeh=2 bits di mantissa e k=3 di esponente.Rappresentazione dell’esponente:
0 000 00 =0 000 01 =0 000 10 =0 000 11 =0 001 00 =0 001 01 =0 001 10 =0 001 11 =0 010 00 =0 010 01 =0 010 10 =0 010 11 =
02-2 ·2-2
2-2 ·2-1
2-2 ·(2-1 +2-2 )2-2 ·1 = 4/322-2 ·(1+2-2 )2-2 ·(1+2-1)2-2 ·(1+2-1 +2-2 )2-1 ·12-1 ·(1+2-2 )2-1 ·(1+2-1) 2-1 ·(1+2-1 +2-2 )
= 0= 0.0625= 0,125= 0,1875= 0,25= 0,3125= 0,375 = 0,4375 = 0,5= 0,625= 0,75= 0,875
312 1 ee k
20 ·120 ·(1+2-2 )20 ·(1+2-1)20 ·(1+2-1 +2-2 )21 ·121 ·(1+2-2 )21 ·(1+2-1) 21 ·(1+2-1 +2-2 )22 ·1 = 422 ·(1+2-2 )22 ·(1+2-1)22 ·(1+2-1 +2-2 )23 ·123 ·(1+2-2 )23 ·(1+2-1)23 ·(1+2-1 +2-2 )
0 011 00 =0 011 01 =0 011 10 =0 011 11 =0 100 00 =0 100 01 =0 100 10 =0 100 11 =0 101 00 =0 101 01 =0 101 10 =0 101 11 =0 110 00 =0 110 01 =0 110 10 =0 110 11 =0 111 00 =
= 1= 1,25= 1,5= 1,75 = 2= 2,5= 3= 3,5= 4= 5= 6 = 7 = 8= 10= 12= 14=
0 8 4 2 1
0 1 0,5
0,2
5
0,1
25
14 12 10
Recommended