Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Esercitazioni su rappresentazione
dei numeri e aritmetica dei calcolatori
2010 su 5 bit ? SI 20 = 1
6410 su 6 bit ? NO 21 = 2
50010 su 9 bit ? SI 22 = 4
102510 su 10 bit ? NO 23 = 8
24 = 16
25 = 32
26 = 64
27 = 128
28 = 256
29 = 512
210 = 1024
....
64 + 32 + 16 + 0 + 4 + 0 + 1
100 : 2 = 50 resto 0
50 : 2 = 25 resto 0
25 : 2 = 12 resto 1
12 : 2 = 6 resto 0
6:2=3 resto 0
3:2=1 resto 1
1:2=0 resto 1
10 101 111
Soluzione: 101011112 = 2578
2 5 7
6 3 5
Soluzione: 6358 = 1100111018
110 011 101
BED
CAR
938
DEAD
BEBE
A129
ACI
DECADE
BAG
DAD
4H3
0.......00 = 0
0.......01 =1 in totale sempre
... 2n numeri
01......11 = 2n-1-1 (massimo pos.)
10......00 = -2n-1 (minimo neg.)
...
11......11 = -1
-1 Þ 2n - 1 (1........1)
- 2n-1 Þ 2n - 2n-1 = 2n-1 (10......0)
N = 25 – 15 = 32 -15 = 17 = 10001
Esempio su 5 bit:
10011 = -24 + 21 + 20 = -13
Architettura degli Elaboratori 11
Complemento a 2: cambio di segno
Esercizio: Rappresentare -3510 in complemento a 2 su 8 bit
001000112 = +3510
Complemento a uno
11011100 +
1 =
------------
11011101
001000112 = +3510
Inverti (complementa a 1) tutti i bit a
sinistra del bit “1” meno significativo
110111012
22 + 24 + 25 + 26 + 27 + 28 = 50010
11111101
5310 - 5310 + 001101012 +
3510 = (-35)10 = 110111012 =
_______ Þ _________ Þ________
1810 1810 (1000100102) mod 28
000100102 = 1810
00011110
1510 - 1510 + 000011112 +
3810 = (-38)10 = 110110102 =
_______ Þ _________ Þ________
-2310 -2310 (0111010012) mod 28
000101112 = 2310
01 00
01111+ 01100+
00001= 00001=
10000 01101
Esempi:
A=10100 B=10101 (OVERFLOW Þ due ultimi riporti discordi)
A=10111 B=11101 (NON OVERFLOW Þ due ultimi riporti concordi)
10 11
10100+ 10111+
10101= 11101=
01001 10100
10000000
x4 11000001 +
x5 10000100 =
___________
(101000101) mod 28 = 01000101 overflow?
10000000
x4 11000001 +
-x1 10000110 =
___________
(101000111) mod 28 = 01000111 overflow?
Architettura degli Elaboratori 21
Esercizio - caso particolare
Si ricorda che l’opposto del numero negativo più piccolo su n bit non può
essere rappresentato in complemento a due
– codifica non simmetrica
Supponiamo quindi:
– di lavorare con rappresentazioni in complemento a due su 3 bit
– di dover effettuare la sottrazione x-y
dove y=1002 è il minimo numero rappresentabile (y=-410)
In base B=2, abbiamo quindi m+n bit per parte intera e frazionazia
m n
Esempio:
dn-1...d1d0 . d-1...d-m
N = dn-1• Bn-1 + .... + d1• B1 + d0• B0 + d-1• B-1 + ... + d-m• B-m
Esempi con B = 10
– R1 = 3.1569 x 103
– R2 = - 2054.00035 x 10-6
– R3 = - 0.1635 x 102
– R4 = 0.0091 x 10-12
Si osservi che:
Shift
Somma
Normalizzazione
Arrotondamento
Soluzione:
1. Traduzione in binario
A = 1100 0011 0001 0110 0000 0000 0000 0000
B = 0100 0010 1111 1000 0000 0000 0000 0000
2. Interpretazione di A e B come numeri FP:
A = 1 10000110 00101100000000000000000
B = 0 10000101 11110000000000000000000
cioè:
A = (-1)1 • 1.001011 • 210000110 = (-1)1 • 1.001011 • 201111111 + 111
B = (-1)0 • 1.1111 • 210000101 = (-1)0 1.1111 201111111 + 110
A = 10.110101 +
B = 00.111110
---------------------
C = 11.110011 è un numero negativo il cui valore assoluto è 0.001101
§ normalizzazione