sistemas numericos y operaciones aritmeticas - Departamento de ...
sistemas numericos y operaciones aritmeticas - Departamento de ...
sistemas numericos y operaciones aritmeticas - Departamento de ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TRUNCADO (CHOPPING) Y REDONDEO (ROUNDING).<br />
En muchos casos el resultado <strong>de</strong> una operación <strong>de</strong> punto flotante pue<strong>de</strong><br />
exce<strong>de</strong>r con p dígitos <strong>de</strong> la mantisa. Por ejemplo:<br />
(*) p+1 dígitos resultan <strong>de</strong> sumar dos números <strong>de</strong> p dígitos normalizados(si la<br />
suma exce<strong>de</strong> el valor 1).<br />
(*) 2*p dígitos se obtienen al multiplicar dos números <strong>de</strong> p-dígitos.<br />
En el primer caso, suma overflow, se corre a <strong>de</strong>recha una posición y se<br />
quita el último bit (menos significativo) in<strong>de</strong>pendientemente <strong>de</strong> su valor. Esta<br />
operación se llama 'Truncado'. En esta aritmética la mantisa resultante se<br />
normaliza primero y luego, los bits <strong>de</strong> mas allá <strong>de</strong> la posición p se <strong>de</strong>scartan y<br />
los p <strong>de</strong> or<strong>de</strong>n superior se retienen incambiados. Si x=0.130581 trunco a 4 daría<br />
(x)4 = 0.1305<br />
Cuando realizamos la segunda operación, producto, una forma razonable <strong>de</strong><br />
quitar <strong>de</strong> los 2*p dígitos los p inferiores, es sumar uno si el bit más<br />
significativo <strong>de</strong> la segunda mitad es 1, <strong>de</strong> otra manera sumar 0. Esto <strong>de</strong>fine una<br />
manera <strong>de</strong> 'Redon<strong>de</strong>o' <strong>de</strong> los p bits menos significativos.<br />
Como se podrá ver, el redon<strong>de</strong>o conduce al número más próximo <strong>de</strong> p. Este<br />
método aproxima el valor <strong>de</strong>l resultado o bien por arriba o por abajo. Por ello,<br />
el margen <strong>de</strong> error está dado como máximo por:<br />
E = r -p / 2<br />
El umbral se resuelve solo a partir <strong>de</strong>l bit más significativo (el bit mas<br />
significativo, si es ò r/2, es siempre 1) <strong>de</strong> la posición a ser quitada,<br />
in<strong>de</strong>pendientemente <strong>de</strong> la base.<br />
Es <strong>de</strong>cir, La operación <strong>de</strong> redon<strong>de</strong>o se resuelve en sí mirando el primer bit<br />
<strong>de</strong> la porción <strong>de</strong>l número a <strong>de</strong>scartar (si es 1 entonces la porción a <strong>de</strong>scartar es<br />
ò r/2), in<strong>de</strong>pendientemente <strong>de</strong> la base en que se trabaja.<br />
Si el dígito tiene un valor entre:<br />
{r/2,(r/2)+1, ... ,r-1}<br />
entonces se suma un 1 a la parte superior; pero si el dígito tiene un valor<br />
entre:<br />
{0,1, .....,r-1}<br />
entonces no se hace nada, que equivale a truncar.<br />
Teoría <strong>de</strong> Redon<strong>de</strong>o<br />
Lo visto en la sección anterior consi<strong>de</strong>raba sólo valores absolutos. Una<br />
<strong>de</strong>scripción algebraica más rigurosa <strong>de</strong>be distinguir números positivos y<br />
negativos, a los efectos <strong>de</strong> normalizar los métodos existentes.<br />
Habíamos visto la función <strong>de</strong> redon<strong>de</strong>o como:<br />
ρ: R -> M (M: Representacíon máquina)<br />
<strong>de</strong>finida para todo a, b ∈ R tal que se verifica:<br />
ρ(a) ≤ ρ(b) toda vez que a≤b.<br />
Se <strong>de</strong>nomina 'redon<strong>de</strong>o optimal' si para todo a ∈ M,<br />
ρ(a) = a.<br />
En la práctica esto será así para cualquier representación razonable. Un<br />
redon<strong>de</strong>o optimal implica que si a∈R y m1, m2 son dos números consecutivos <strong>de</strong> M<br />
con m1 < a < m2, luego o bien ρ(a)=m1 ó ρ(a)=m2. Está claro el interés luego en<br />
que las implementaciones sean optimal.<br />
20