Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Perci`
o conviene ricordare alcuni elementi sulla
rappresentazione posizionale dei numeri.
NUMERO
. &
ENTITA ASTRATTA RAPPRESENTAZIONE
sette (7, VII, 1112, ...)
univocamente determinata molteplice a seconda dei
criteri di rappresentazione adottati.
VALORE INTRINSECO
(compreso tra 0 e 1)
posizione occupata entro la lista dei simboli
%
SIMBOLO
&
VALORE PESO (dato da j )
posizione occupata entro il numero ed equivalente
alla potenza della base corrispondente,
contando le posizioni a partire da 0
da destra verso sinistra.
Per convenzione, si adotta il sistema di numerazione decimale, con base
= 10 e 10 simboli dati dalle cifre arabiche 0, 1, 2, ..., 9.
n n1 1 0
N = dn10 + dn110 + ... + d110 + d010 = (dndn1...d0)10
N = (dndn1...d0)
n n1 1 0
= ord(dn) + ord(dn1) + ... + ord(d1) + ord(d0)
BASE SIMBOLI
2 0, 1
8 0, 1, 2, 3, 4, 5, 6, 7
16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
ESEMPIO. trecentosettantadue=
2 1 0
(372)10 = 3 10 + 7 10 + 2 10
2 1 0
(174)16 = 1 16 + 7 16 + 4 16
3 1 0
(564)8 = 58 +68 +48
8 7 6 5
(101110100)2 = 12 +02 +12 +12 +
4 3 2 1 0
+ 12 +02 +12 +02 +02
duecentoottantasette=
N = (anan1...a0)1 = (bmbm1...b0)2
n n+1
1 N < 1 2m N < 2m+1
n log1 N < n + 1 m log2 N < m + 1
n
' log1 2.
m
Se 1 = 2 e 2 = 10, log1 2 = log2 10 ' 3.32. Pertanto per
rappresentare un numero in base 2 ci vogliono circa il triplo del numero
di cifre necessarie in base 10.
OPERAZIONI ARITMETICHE NELLE
DIFFERENTI BASI
Base 2
+ 0 1 0 1
0 0 1 0 0 0
1 1 10 1 0 1
Base 8
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 25 34 43 52 61
CASO BINARIO
1 1 0 0 1 +
1 0 0 1 1 =
Riporto 1 1 1
1 0 1 1 0 0
1 1 0 0 0 -
0 1 1 0 1 =
0 1 0 1 1
1 1 0 1
1 1 1 0 =
0 0 0 0
1 1 0 1
1 1 0 1
1 1 0 1
1 0 1 1 0 1 1 0
Quoziente: (28)10 : (9)10 = (3)10 con resto 1.
1 1 1 0 0 1 0 0 1
1 0 0 1 1 1
0 1 0 1 0
1 0 0 1
0 0 0 1
c1 c0 riporto s riporto
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Teorema di rappresentazione dei numeri reali
1. forma mista:
n .000..0a1a2... p0
= p zeri
a1a2...ap.ap+1ap+2... p>0
= a1a2...ap = cp1cp2...c0
p1 0
= (cp1 + ... + c0 )
ESEMPI.
(372)10 mista
.372 103 normalizzata
.0372 104 scientifica
(3.141592...)10 mista
.3141592 101 normalizzata
.3243F... 161 normalizzata
(3.243F...)16 mista
Algoritmi di conversione di base
= (amam1...a0) =
m m1
= am + am1 + ... + a1 + a0 =
m1 m2
= (am + am1 + ... + a1) + a0 =
= 1 + a 0
determinare la pi`u grande potenza j della base che non supera il numero
, contando quante volte questa potenza sta in ; se i `e il numero di volte,
convertire i j nella base e sommarla a s;
togliere da il numero i j e ripetere fino a che = 0.
= (.a1a2a3...) =
1 2 3
= a1 + a2 + a3 ...
1 2 3
= a1 + a2 + a3 + a4 ... = a1 + n1
a1 `e la parte intera del risultato e n1 la parte frazionaria.
1 2
n1 = a2 + a3 + ...
1
n1 = a2 + a3 + a42 + ... = a2 + n2
1 2
n2 = a3 + a4 + a5 + ... = a3 + n3
ESEMPIO. (0.1)10
1. || = 25.375; segno=-.
2. [||] = 25; (25)10 = (11001)2.
3. || [||] = .375; (.375)10 = (.011)2.
4. = (11001.011)2.
Conversione di un reale da base > 1 a base 10.
Ci sono due modi:
= (a1a2....ap.ap+1ap+2...aq )
p1 p2 0
= (a1 + a2 + ... + ap +
1 2 pq
+ ap+1 + ap+2 + ... + aq )
Si tratta di calcolare:
f (x) = a1xp1 + a2xp2 + ... + ap in x = ,
g(x) = aq xp+q + aq1xp+q1 + ... + ap+1x in x = 1/ .
()10 = (f () + g(1/)).
Occorre un algoritmo conveniente per fare il calcolo di un polinomio
a coefficienti reali in corrispondenza di un certo valore.
Per convertire da base a base 10 il numero reale si pu`o usare
gli algoritmi delle divisioni e delle moltiplicazioni successive, purch`e
si lavori con aritmetica in base . Le cifre ottenute si convertono ai
simboli di base 10.
Conversione di un reale da base 1 a base 2.
= (1221)7.
Conversione di un reale da base 1 a base 2. Caso
particolare
Nel caso in cui 2 = 1k , nella rappresentazione in base 1 di un
numero reale, si staccano gruppi di k cifre a partire dal punto radice
verso destra e verso sinistra, completando eventualmente il primo e
lultimo gruppo con zeri. Ogni gruppo `e convertito a un simbolo della
base 2.
ESEMPIO. 1 = 2; 2 = 8(k = 3).
= (1101110.01)2 = (156.2)8
= (1101110.01)2 = (6E.4)16
= (37.47)9 = (1021.1121)3
3 7 . 4 7
10 21 . 11 21
Si usa la seguente tabella di conversione dei simboli.
(00)3 09
(01)3 19
(02)3 29
(10)3 39
(11)3 49
(12)3 59
(20)3 69
(21)3 79
(22)3 89
Valutazione di un polinomio reale in x = .
n n1
pn(x) = a0x + a1x + ... + an1x + an ai R, a0 6= 0
ALGORITMO 1.
p 1;
s an ;
for i n 1 to 0 step 1 do
begin p p ;
s p ai + s;
end;
stampare s;
s a0;
for i 1 to n do
s s + ai ;
stampare s;
La COMPLESSITA COMPUTAZIONALE `e pari a n moltiplicazioni
e n addizioni. Lalgoritmo prende il nome di SCHEMA di RUFFINI-
HORNER.
Lo schema di Horner si pu`o riscrivere in modo da tener conto dei
risultati intermedi:
b0 a0 ;
for i 1 to n do
bi bi1 + ai;
stampare bn;
a0 a1 a2 ... an
b0 b1 ... bn1
b0 b1 b2 bn
Applicazione: calcolo del valore di un
polinomio e delle sue derivate in x =
pn(x) = (x )q1(x) + r1
q2(x) = (x )q3(x) + r3
Ancora:
000 00 000
pn (x) = 3q1 (x) + (x )q1 (x)
Pertanto p000 00
n () = 3q1 () = 3.2.q3 () = 3!q3 ().
Applicando lo schema di Horner (IV volta) a q3(x) si ottiene q4(x) e
r4 = q3() = p000n ()/3!.
In generale, applicando la i + 1esima volta lo schema di Horner si
ottiene: p(i)
n ()/i! = qi ().