Sei sulla pagina 1di 3

Lezione 4

Artusio Gianluca, Ivani Alessia, Merlo Sibilla


Informatica: Aritmetica finita

Abstract:
(It)Largomento principale introdotto nella tesi lAritmetica finita o Aritmetica di
macchina con lo scopo di mettere in luce aspetti pi specifici della materia trattata .
Laritmetica finita si occupa di definire le operazione di macchina di un calcolatore.
Verranno presentate le nozioni di precisione di macchina o epsilon di macchina
rianalizzando opportunatamente i significati di floating point, arrotondamento e
troncamento. Inoltre tramite esempi pratici saranno analizzate le differenti operazioni
di macchina ( addizione, sottrazione, moltiplicazione e divisione ) e schematizzate con
rimando allerrore relativo e errore assoluto. Lo studio stato avvalorato da: esempi
pratici, definizioni, calcoli matematici, applicazioni nel linguaggio di programmazione
informatica Java e video esplicativi.
(Ingl) The main argument introduced in the thesis is the machine Arithmetic with the
aim of highlighting the more specific aspects of the subject. The machine Arithmetic is
responsible for defining the operation of a computer machine. We will discuss the
concepts of precision machine or machine epsilon suitably re-analyzing the meanings
of floating -point, rounding and truncation. Through practical examples they will be
analyzed different machine operations (addition, subtraction, multiplication and
division) and summarized with reference to the relative error and absolute error. The
study was validated by practical examples, definitions, mathematical calculations,
applications in computer programming language Java and explanatory videos.

Precisione di macchina
Con il simbolo (o m) si indicher la precisione di macchina. Essa una costante
caratteristica di ogni aritmetica floating-point e rappresenta la massima precisione
relativa di calcolo raggiungibile sul calcolatore. Si calcola:
m ^1t
dove la base e t il numero di cifre decimali
I personal computer che implementano lo Standard IEEE 754-1985 prevedono:

32 bit per la singola precisione, 1+8+23;


64 bit per la doppia precisione, 1+11+52;

Conseguenze:

In base 2, L = 127, U = 128, m = 2^22


in base 10, L= 38, U = 38, m = 10^7;

In base 2, L = 1023, U = 1024, m =2^52;


in base 10, L= 308, U = 308, m =10^16;

Rappresentazione numero non di macchina e Operazioni di macchina


Sia lerrore relativo della rappresentazione di x:
=(fl(x) x)/x
fl(x) = x(1 + )
Si ha, dalla definizione di m, || m
Si ha allora:
fl(x) = x(1 + ), || m.
Questo `e il modo in cui viene generalmente descritto il legame tra
un numero (non di macchina) x e la sua rappresentazione fl(x).
( => vedi video )
Laritmetica finita si occupa di definire operazioni in macchina.
Il risultato di un operazione aritmetica eseguita tra due numeri
macchina non , in generale, un numero macchina, quindi anche
questo risultato dovr essere approssimato.
Chiameremo operazione di macchina il risultato delloperazione
eseguita sui numeri macchina seguita da unapprossimazione.
Indichiamo con fl(x) loperazione di approssimazione di x a
numero di macchina in aritmetica floating-point e con , -,/, ,
le operazioni macchina corrispondenti a +, , , /.
Operazioni:
a b = fl(fl(a) + fl(b)) = (fl(a) + fl(b))(1 + 1), |1| m
a - b = fl(fl(a) fl(b)) = (fl(a) fl(b))(1 + 2), |2| m
a b = fl(fl(a) fl(b)) = (fl(a) fl(b))(1 + 3), |3| m
a / b = fl(fl(a) / fl(b)) = (fl(a) / fl(b))(1 + 4), |4| m
Queste relazioni mostrano che, prescindendo dagli eventuali errori
di macchina presenti nelle rappresentazioni degli operandi, lerrore
relativo commesso eseguendo operazioni di macchina non mai
superiore alla precisione di macchina.
Propriet
Non tutte le propriet delle operazioni aritmetiche si conservano
per le operazioni di macchina. La propriet commutativa per
somma e prodotto si conserva anche per le operazioni di macchina:
a b = b a, a b = b a,
Ma non valgono pi le seguenti propriet:
a (b c) !=(a b) c,
a (b c) != (a b) c,
a (b c) != (a b) (a c),
(a b)/ b != a,
(a / b) b != a,

(a b) /c != (a / c) b.
Inoltre due espressioni equivalenti in aritmetica infinta possono non
esserlo in aritmetica finita.

Esempio
Somma :
fl(x1) = 0.191020 10^3
fl(x2) = 0.191017 10^3
fl(x1) - fl(x2) = 0.000003 10^3 = 0.300000 10^2
Terminologia e formule:

Errore assoluto:
Ea
|fl(x)x|
Errore relativo:
Er=

|fl(x)x|
|x|

,x

la precisione di macchina una costante caratteristica di ogni aritmetica


floating-point e rappresenta la massima precisione relativa di calcolo
raggiungibile sul calcolatore
m ^1t

Bibliografia:

http://math.ec.unipi.it/metodicomputaz/ErroriNumerici.pdf
http://www.dima.unige.it/~fassino/Errori.pdf
Informatica 3 Quinto Anno Licei Scientifici, Piero Gallo, Pasquale Sirisi
http://it.wikipedia.org/wiki/Epsilon_di_macchina