Sunteți pe pagina 1din 8

SISTEMAS NUMERICOS Y OPERACIONES ARITMETICAS DE UN SISTEMA

COMPUTACIONAL
Una computadora digital moderna puede estar equipada con varios procesadores
aritmticos (hardware), que manipulan datos de diferentes formatos o resuelven
funciones aritmticas especiales para aplicaciones generales o dedicadas. Estos
procesadores aritmticos proveen mayor velocidad de cmputo que los mtodos
tradicionales de computacin. La eleccin de un dado sistema aritmtico condiciona
tanto al diseo del sistema como a las aplicaciones.
Sea R un conjunto de nmeros reales, la aritmtica real podra definirse como un
mapeo algebraico f: R x RR.
Sea M el conjunto de nmeros representados en una mquina, cada nmero en
M podra tener solo un numero finito de dgitos. M ser entonces un subconjunto finito
de R, esto es, M est contenido en R. Una aritmtica en la mquina podra modelarse
por el mapeo g: M x MM.
La segunda difiere de la primera en el aspecto fundamental de la precisin. Solo
cmputos de precisin finita pueden ser realizados por los procesadores aritmticos,
mientras que la aritmtica real puede producir resultados de precisin arbitraria. La
Aritmtica Mquina ser entonces una aproximacin de la Aritmtica Real sujeta a los
controles de redondeo apropiados.
En trminos de mapeo funcional, la funcin mquina g puede relacionarse a la
real f por la siguiente funcin compuesta g : h o p. Donde el mapeo h se define por h
= f| M x MR (la funcin real f restringida al dominio mquina M x M) y el mapeo
definido por p: RM (el esquema de redondeo elegido).
Ntese que las computadoras digitales, en contraste con las unidades aritmticas
convencionales, pueden realizar cmputos de precisin arbitrarios, dada la suficiente
capacidad de almacenamiento y tiempo de ejecucin. La precisin finita surge de las
restricciones en ambos aspectos impuestos al sistema: tamao de palabra restringida,
registros, sumadores, capacidad de memoria y los tiempos de ejecucin.
SISTEMAS NUMERICOS
La implementacin de los algoritmos aritmticos en una computadora digital
depende mucho de cmo el dato numrico es almacenado en memoria y en registros.
Como las computadoras slo implementan artimticas de precisin finita, todas las
representaciones numricas debern ser restringidas a una longitud finita. Una buena
eleccin del sistema aritmtico y de la representacin numrica interna afecta tanto a
la eficiencia de la implementacin de las operaciones mquina como a la exactitud.
Generalmente, los sistemas nmericos de las arimticas mquina pueden dividirse en
cinco categoras:
1- Sistemas Numricos con Base (Conventional Radix Number System)
Las computadoras convencionales usan fixed radix, base fija, con r2 y un
conjunto de dgitos {0, 1, 2..., r-1}. Todos los dgitos del nmero son pesados
(ponderados) positivamente y cada nmero es representado en forma nica. Algunos
sistemas especiales pueden usar Mixed Radix, en los cuales diferentes dgitos del
nmero asumen valores distintos de la base.
Es el sistema adoptado por la mayora de los sistemas. Slo unos pocos utilizan
el sistema reduntante de dgito signado y los restantes sistemas (reiduo, racional,
logartmico) no han demostrado an ser eficientes por lo que no han sido aceptados.
Un nmero con base r, X, se representa en una computadora por un vector
digital de (n+k)-tuplas X=(Xn-1, , X0 . X-1 , , X-k)r donde cada componente Xi, para
-k<=i<=n-1 se denomina de i-simo dgito del vector X. Cada dgito podr asumir r
distintos valores {0, 1, ..., r-1}. En un sistema de base fija, todos los dgitos asumen la
misma base.

Los primeros n dgitos forman la parte entera del nmero, y los restantes k,
indexados negativamente forman la parte fraccionaria, un punto (o coma) separa a
ambas porciones. En una computadora ese punto es implcito, esto es, no ocupa
ninguna posicin fsica en el almacenamiento.
En un sistema radix pesado se asocia con cada vector digital X, un valor nico
denotado como la sumatoria de cada dgito multiplicado por el peso de su posicin (o el
producto escalar del vector por el vector peso). En particular, el vector peso ser (r n-1,
, r0, r-1, ..., r-k), donde r es la base.
En la prctica hay cuatro sistemas usados frecuentemente correspondiendo a las
bases 2 (binario), 8 (octal), 10 (decimal) y 16 (hexadecimal).
2- Sistemas Numricos de Dgito Signado
Este sistema puede ser considerado como una extensin del caso de Fixed-Radix
en el cual se advierten que los dgitos sean pesados tanto positiva como negativamente
en el conjunto {-, ..., -1, 0, 1,..., } donde es un entero positivo limitado. Un dado
valor numrico en este sistema podr tener ms de una representacin; por ello este
sistema es considerado redundante.
3- Sistema Numrico Residuo
A cada dgito no se le asigna un factor de peso, por lo que el orden de los dgitos
es irrelevante en la determinacin del valor del nmero. Adems, mltiples bases son
asignadas a diferentes dgitos.
Un nmero es representado por una n-tupla X={r 1, ..., rn}m con respecto a otra
n-tupla M={m1, ..., mn}, cada ri se denomina residuo de X mdulo m i, donde todos los
mi son primos.
4- Sistemas Numricos Racionales
Estos sistemas representan las cantidades numricas como fracciones en
trminos de pares de enteros numerador/denominador. Las operaciones bsicas +,-,*,/
de estos nmeros siempre dan nmeros racionales, luego estas operaciones son
cerradas, sin recurrir a precisin infinita. Una situacin que torna esto difcil es el caso
de que numerador/denominador pueden hacerse muy grandes rpidamente.
5- Sistemas Numricos Logartmicos
Estos sistemas emplean un nmero real N>1 como base.
El conjunto de nmeros is definido por el espacio logartmico LN={x: | |x|=N i, i
es entero}{0}.
La idea de aplicar expresiones exponenciales surge para habilitar redondeo
geomtrico mas que aritmtico para aumentar la exactitud.
CLASIFICACION DE LAS OPERACIONES ARITMETICAS
A- Operaciones Aritmticas Estndar.
Esta incluye las 4 funciones aritmticas primitivas: suma, resta, multiplicacin y
divisin tanto en punto fijo como en punto flotante. Toda otra funcin matemtica
podr ser expresada en trminos de estas cuatro. Respecto a los dos modos de
operacin podemos decir:
1.
Punto fijo (FXP) es usado normalmente en problemas con datos con FixedRadix-Point, como los encontrados en aplicaciones comerciales o clculos estadsticos.
FXP se puede subdividir en dos subclases, de acuerdo a la posicin aparente del punto.
En aritmtica entera todos los resultados se alinean en el extremo derecho de los
registros, como si el punto estuviese en la derecha. En la aritmtica fraccionaria todos
los resultados, independientemente de su longitud, se alinean a la izquierda de los
registros.
2.
Punto Flotante (FLP) es usado principalmente en cmputos de tipo
cientfico e ingenieril, en los cuales se requiere frecuentemente escalamiento. FLP
puede a su vez subdividirse en dos subclases de acuerdo al formato de datos. Cuando

se fuerza la normalizacin se tiene la llamada FLP normalizada; cuando no se requiere


los operandos normalizados tanto durante etapas intermedias y finales del resultado,
se tiene FLP no normalizadas.
B- Funciones Aritmticas Elementales.
Se refiere a aquellas operaciones especiales usadas frecuentemente en cmputos
matemticos. No todas las computadoras incluyen estas funciones como hardware
estndar. En el presente la mayora implementa estas funciones elementarias por
software o firmware. 'Special Purpose Hardware' est siendo utilizado cada vez ms a
partir de los costos decrecientes del hardware.
C- Operaciones Pseudo-Aritmticas.
Estas requieren cierto grado de clculo aritmtico, pero principalmente para
propsitos dedicados en la ejecucin de un programa. Dos subclases de operaciones
pseudo-aritmticas seran:
1.
Address Arithmetic: tiene que ver con el cmputo de la direccin efectiva
de memoria, como indexing, indirect, relative u offset.
2.
Data Editing Arithmetic: incluye operaciones lgicas y de transformacin
de datos como compare, complement, load, store, shift, normalize, etc. Estas son
usadas en la transformacin de datos de un formato a otro, chequeo de consistencia
con un formato fuente o testeo para controlar la secuencia de ejecucin.
Las instrucciones aritmticas a su vez son subdivididas de acuerdo a la precisin
que manejan, ya sean FXP or FLP.
1.
Single-Precision Arithmetic: operaciones definidas sobre operandos
estndar con longitud de palabra igual a una palabra de memoria.
2.
Double-Precision Arithmetic: cada operando usa el doble de la longitud de
palabra.
FXP {Integer o Fractional}
Operacin SP o DP
FLP {Normalized o Unnormalized}
A su vez, una operacin, podr ser binaria o decimal.
USO DE RADIX-2
Los humanos estamos acostumbrados al sistema decimal, mientras que una
computadora digital codifica los datos en binario. Esta forma popular de codificacin
binaria est basada en la eficiencia de la representacin, facilidad para el diseo
aritmtico, y seguridad de la operacin. Adems, como se demostrar, no se encuentra
muy lejos de la base ideal. Ideal se refiere en el sentido de optimizar el
almacenamiento de la informacin.
Para un sistema posicional de base b y n dgitos, podemos establecer que la
precisin, o la cantidad de nmeros bn. Para cada posicin habr un requerimiento de b
smbolos, luego podemos definir una medida de eficiencia de almacenamiento E como
E=n*b. Queremos minimizar E bajo las restricciones de la precisin N=b n, por lo que
tenemos que:
N
= bn
ln N = n*ln b
E
= b*n
= b*ln N/ln b
Derivando con respecto a b tenemos que
dE/db = (ln N)*(ln b 1)/ (ln b)2
Lo cual ser 0 si ln(b)=1, es decir, para b=e. Evidentemente la base de
representacin debe ser entera, y desde el punto de vista de eficiencia 3 es algo

superior a 2, dado que 3/ln3<2/ln2. Pero como los circuitos elctricos de dos estados
son ciertamente ms comunes que los de tres, una base 2 resultar ms atractiva.
CAMBIO DE BASE
Veamos el problema general de convertir un nmero escrito en una base de
salida bs, a un nmero en una base destino bd. Esto puede ser manejado de varias
maneras. Los mtodos ms comunes o bien emplean multiplicacin o divisin. Se debe
distinguir entre la conversin de nmeros enteros y fraccionarios.
A. Conversin de enteros
Sea (xn, ..., x0) un entero en base bs y (xm, ..., x0) su conversin a base bd.
A.1. Mtodo del producto (usando aritmtica destino)
Realizamos la suma que corresponde a la ponderacin en aritmtica destino.
|X| = xi*bsi
A.2. Mtodo de la divisin (usando aritmtica origen)
Se tiene X0= |x| mod bd, donde la divisin se realiza en base b s. Continuando en
igual sentido para los dgitos sucesivos, desde el menos significativo al ms
significativo, se tiene:
X
= Q0 * bd + X0
Q0
= Q1 * bd + X1
X0
= |X| mod bd
X1
= |Q1| mod bd
B. Conversin de fracciones
Se tiene ahora (x-1, x-2, ..., x-n) y se desea la conversin a (x-1, x-2, ..., x-m). La
primer cosa importante a destacar es que un nmero finito de dgitos en base b s, no
necesariamente tiene una representacin completa en base b d. Sin embargo, uno
puede obtener los primeros m dgitos de la conversin usando multiplicacin o divisin.
B.1. Mtodo del Producto (usando aritmtica origen)
Se multiplica por la base destino obteniendo el dgito ms significativo, fuera de
la fraccin, la parte fraccionaria de |x|*bd se usar para computar el siguiente dgito
ms significativo.
X-1= |x|*bd
B.2. Mtodo de la Divisin (usando aritmtica destino)
Simplemente se pondera cada uno de los Xi usando aritmtica bd.
|X|= Xi*bdi
-1i-m
Muy a menudo se desea convertir de binario (octal o hexadecimal) a decimal, y
viceversa. Para calcular a mano, acostumbrados a la aritmtica decimal, se preferirn
los mtodos A.1 y B.2 cuando se convierte de binario a decimal, y los mtodos A.2 y
B.1 cuando se convierte de decimal a binario. Cuando el procedimiento se automatiza,
por programa o microprograma, la divisin debe evitarse y la aritmtica binaria es
preferible.
Codificacin de Dgitos decimales en binario
Si se desea codificar cada dgito decimal, hay varias formas de representar con 4
bits un nmero decimal: BCD, GRAY, 5211 y EXCESO 3. De estos los ms populares
son BCD y GRAY. Es de notar que en algunos
casos trabajan con cdigo posicional, aunque Dig. Dec. BCD GRAY 5211 EXC3
mltiple base como sera BCD, y en otros no
0
0000 0010 0000 0011
posicional como EXCESO 3.
1
0001 0110 0001 0100
El cdigo BCD, tambin expresable como
2
0010 0111 0011 0101
8421, se lo conoce como 'BCD Natural'.
3
0011 0101 0101 0110
4
0100 0100 0111 0111
5
0101 1100 1000 1000
4
6
0110 1101 1010 1001
7
0111 1111 1100 1010
8
1000 1110 1110 1011
9
1001 1010 1111 1100

Obsrvese que cada peso coincide con los cuatro primeros pesos del sistema binario
natural. La ventaja del EXCESO 3 y 5211, ambos no posicionales, es su simetra segn
el eje que podemos trazar entre 4 y 5, se observa que la codificacin de dos nmeros
simtricos al eje es obtenida complementando cada uno de los bits de uno para pasar
al otro. Esto se conoce como autocomplementacin.
El acarreo binario en exceso 3 coincide con el decimal. En exceso 3, esto indica
que el carry generado en sumas con cdigos BCD con estas caractersticas coincide con
el carry binario, esto es, el que se obtiene sumando en forma binaria los 1 y 0, que
codifican el dgito decimal, lo cual facilita la implementacin de los mismos.
Los algoritmos aritmtcos pueden ser implementados en la computacin digital
moderna mediante software, hardware o firmware, o una combinacin de estas tres
soluciones. Hacerlo en software resulta lento, y ocupa un gran espacio en memoria
para las rutinas, aunque era ms barato en los comienzos de la industria de la
computacin. Con el rpidamente decreciente costo del hardware, muy pocas
computadoras usan software para evaluar funciones que se usan frecuentemente.
Implementar un algoritmo aritmtico por hardware provee una velocidad de ejecucin
mayor y ocupacin mnima de espacio en memoria.
Representacin de Nmeros
Un nmero signado podr ser positivo o negativo, pero no ambos. Usualmente el
dgito ms a la izquierda de un nmero en sistema posicional es reservado para el
signo. Considrese el siguiente nmero en base r A=(a n-1 an-2 .... a0)r. Donde el signo,
es decir el dgito an-1 ser 0 o r-1, dependiendo de si A0 o A<0 respectivamente. Los
restantes dgitos en A especifican o bien la verdadera magnitud o el complemento a la
base, o a la base disminuida.
Dado que A es un nmero posicional, se puede (debe) ubicar el punto para
distinguir la parte entera de la fraccionaria. Si se adopta una posicin fija para el
punto, se lo llama entonces nmero de punto fijo (fixed-point number).
Tericamente, el punto puede ser localizado entre dos dgitos adyacentes
cualesquiera en una representacin, pero hay dos representaciones aceptadas
comnmente, ambas son intercambiables. Las dos posiciones elegidas para el punto
son el extremo izquierdo o el derecho de la magnitud del nmero. En el primer caso el
punto cae entre el bit de signo a n-1 y la magnitud an-2, esto conduce a nmeros
fraccionarios estrictamente menores que uno. En el segundo caso el punto pasa a la
derecha del dgito menos significativo a0, lo que lleva a nmeros enteros. Estas
representaciones son esencialmente equivalentes. Se puede convertir de una a otra
multiplicando o dividiendo por un factor rn-1.
Ahora, para representar la magnitud, hay tres diferentes notaciones. Sea la
versin negativa del nmero A=(0 an-2 an-3 ... a0)r, donde el bit de signo ahora es r-1.
1. Signo Magnitud
=((r-1) an-2 an-3 ... a0)r donde n-2i0 son los dgitos de magnitud. Obviamente
un nmero difiere de su versin negativa, slo en el bit de signo.
Rango:
(11...11)2
A (01....11)2
-(2n-1-1)
A 2n-1-1
Representacin del cero: 000...0 y 100...0 (dirty zero)
El prinicpal problema de la representacin signo-magnitud aparece a la hora de
sumar nmeros de distinto signo, pues esto implica que debemos comparar las
magnitudes de ambos operandos para determinar el signo del resultado.
2. Complemento a la Base Disminuida (Disminished Radix Complement)
=((r-1) n-2 n-3 ... 0)r donde i=(r-1)-ai. Esto hace que =rn-1-A.
Rango:
(10...00)2
A (01....11)2

-(2n-1-1)
A 2n-1-1
Representacin del cero: 000...0 y 111...1 (dirty zero)
3. Complemento a la Base (Radix Complement)
=(((r-1) n-2 n-3 ... 0)+1)r donde =rn-A y lo tratamos como un pseudopositivo.
Rango:
(10...00)2
A (01....11)2
-2n-1
A 2n-1-1
Representacin del cero: 000...0
La suma y la resta resultar ms sencilla que en DRC, pero como se ve,
complementar resulta un poco ms difcil, pues implica una suma que podr afectar a
todos los n bits. Esta facilidad en la suma y resta se ver amplificada a la hora de
considerar la multiplicacin y la divisin. Esta es una de las razones, adems de la
representacin nica del 0 (clean zero), por la cual RC parece ser el sistema de
representation preferido actualmente.
Las tres notaciones harn trivial la distincin entre positivos y negativos, adems
de tener rangos iguales (o casi iguales) para representar tanto positivos como
negativos. Se puede ver, adems, que para llenar una palabra si el nmero no es de
longitud n-1, se completar con 0's para signo-magnitud el intervalo entre la magnitud
y el signo, sea el ya el nmero negativo o positivo. En cambio, para DRC y RC, se
extender el signo hacia la derecha hasta alcanzar la magnitud en s, es decir, se
completar con 0's si es positivo o con 1's si es negativo.
Algoritmos de Suma y Resta
Signo-Magnitud
Sean X=(xn-1 ... x0) e Y=(yn-1 ... y0) de forma tal que X+Y=S=(sn-1 ... s0).
Si xn-1=yn-1, es decir, si tienen el mismo signo entonces:
se suman las magnitudes y sn-1=xn-1=yn-1.
si Carryn-1=1 entonces se produjo un Overflow.
Si xn-1yn-1, es decir, si son de distinto signo entonces:
si |X|>|Y|, realizo |X|-|Y|
sn-1 ser el signo del de mayor magnitud, es decir, s n-1=xn-1.
Disminished Radix Complement
En DRC para sumar se suman como si fuera todo el nmero incluyendo el signo, una
magnitud.
Si X e Y son positivos entonces el Carryn=0. Se produce overflow si sn-1=1.
Si X e Y son de distinto signo:
si Carryn=0 el resultado es correcto.
si Carryn=1, se descarta el carry y se suma 1 a la posicin menos significativa.
Si X e Y son negativos entonces el Carryn=1, lo descartamos y se suma 1 en la posicin
menos significativa. Se produce overflow si sn-1=0.
En general se produce overflow si CarrynCarryn-1=1.
Radix Complement
En RC para sumar se suman como si fuera todo el nmero incluyendo el signo, una
magnitud
Si X e Y son positivos entonces el Carryn=0. Se produce overflow si sn-1=1.
Si X e Y son de distinto signo:
si Carryn=0 el resultado es correcto.
si Carryn=1, se descarta el carry y el resultado es correcto.
Si X e Y son negativos entonces el Carryn=1, lo descartamos y el resultado es correcto.

En general se produce overflow si CarrynCarryn-1=1.


Las primeras computadoras usaban en su mayora aritmtica de punto fijo. Para
poder utilizar FXP en aplicaciones cientficas, cuando los nmeros se iban de rango (por
muy grandes o muy chicos), se los escalaba con software, firmware o hardware. En la
mayora de los casos, los nmeros deban ser escalados hacia arriba o hacia abajo para
entrar en el intervalo de representacin, y al final del cmputo el resultado es
transformado al dominio del usuario. Sin estas transformaciones, el hardware de punto
fijo producira resultados sin sentido. Sin embargo, la introduccin de escalamiento
puede crear eventuales prdidas de significancia.
La aritmtica de punto flotante se propuso para superar las dificultades
asociadas con la aritmtica de punto fijo. Para representar un nmero f en punto
flotante, se har por partes f=(m,e)=m*re, donde m y e son ambos nmeros
signados en punto fijo, en una dada base r. Los dos componentes m y e se llaman
mantisa y exponente respectivamente.
En general, la mantisa m puede asumir uno de los tres sistemas vistos para FXP,
podr ser fraccionaria con punto a la izquierda o entera con punto a la derecha, la base
r no aparece en la representacin ya que es implcita y el exponente e es un entero en
RC que puede ser biased o unbiased. El exponente puede ser positivo o negativo, a la
hora de operar, se debern comparar los exponentes, esto se facilita convirtiendolos
todos a positivos al sumarles una constante positiva y creando un biased-exponent.
Muchos factores deben ser pesados en la eleccin de m, e y r, en particular, el
rango de valores a acomodar y la precisin que se desea obtener. Dado que ambos, e y
m, comparten una o ms palabras en la representacin, el dar ms espacio a una
acorta a la otra. Es decir, incrementar el rango dando ms dgitos al exponente
decrementara la longitud de la mantisa, disminuyendo luego la precisin. Decrementar
los bit del exponente conduce a lo opuesto.
El tercer parmetro, la base de representacin, impacta tanto en el rango como
en la precisin. Se puede ver a medida que la base aumenta (la base siempre ser
potencia de dos), menos corrimientos por alineacin y normalizacin se requieren (no
olvidar que bases muy grandes funcionaban mal, dado que no tienen mxima
significancia). La base deber ser potencia de dos, dado que la mantisa estar en
binario, as se podr flotar y variar la posicion del punto en funcin del exponente.
Las operaciones de punto flotante pueden dar lugar a situaciones singulares an
cuando estas sean legtimas sobre datos legtimos. Se usaran los smbolos + y -
para referirse a los positivos y negativos casi-infinitos correspondientes a nmeros FLP
cuyo exponente excede el mximo valor positivo, es decir, valores demasiado grandes.
Se usan tambin + y - para representar nmeros cuyo exponente excede el mximo
negativo, es decir, valores demasiado pequeos. El bit menos significativo se los
conoce como LSB. Se dar un Overflow del Exponente cuando el exponente resultante
exceda el lmite superior, tanto para mantisas positivas como negativas, dando lugar a
+/-. Se dar un Underflow del Exponente cuando el exponente resultante exceda el
mnimo valor permitido y caiga en el intervalo (-,0-) y (0+,+). Es de notar que el
verdadero cero al origen de coordenadas es una excepcin.
Hay dos tipos de FLP no normalizados y normalizados. Un nmero FLP se
dice normalizado si su dgito ms significativo en la mantisa no es cero. El valor de una
mantisa normalizada variar en el rango 1/r|m|<1, donde la representacin del cero
en FLP ser la nica excepcin. La forma normalizada tendr una ventaja procedural,
una representacin nica de los nmeros y una mxima significancia de la mantisa en
todas las etapas del clculo. Hay una posibilidad de incrementar la significancia
trabajando con el hidden bit. Dado que el nmero siempre estar normalizado, el
almacenamiento del primer dgito es innecesario.

Teora de redondeo
En muchos casos el resultado de una operacin entre nmeros mquina no ser
representable, es decir, no ser un nmero mquina, y deber ser sometido a un
redondeo.
Al truncar, simplemente eliminamos los bits sobrantes, as el error mximo al
que me enfrento es 1 LSB. Al redondear, eliminamos los bits sobrantes, pero ajustamos
la parte ms significativa sumandole 1 LSB si el dgito ms significativo de la parte
sobrante es 1; de esta forma el error mximo al que me expongo es LSB.
El intervalo entre dos nmeros mquina, normalizados, adyacentes es b e.2-m
donde e es el exponente y m es la cantidad de dgitos en la mantisa. Esto representa el
error absoluto. El error relativo de un nmero mquina m y un X ser (x-m)/x
Una descripcin algebraica ms rigurosa debe distinguir nmeros positivos y
negativos, a los efectos de normalizar los mtodos existentes. Habamos visto la
funcin de redondeo como :R->M definida para todo a,b R tal que se verifica
(a)(b) toda vez que ab.
Se denomina redondeo optimal si para todo aM, (a)=a. En la prctica esto
ser as para cualquier representacin razonable. Un redondeo optimal implica que si
aR y m1, m2 son dos nmeros consecutivos de M con m1<a<m2, luego o bien
(a)=m1 (a)=m2.
El redondeo optimal hacia abajo (-) es (a)= MAX{mM tal que ma}.
El redondeo optimal hacia arriba (+) es (a)= MIN{mM tal que ma}.
En funcin de estos dos redondeos, podemos definir 3 redondeos simtricos de
inters:
Truncado, o redondeo hacia 0, es
T(a)= {(a) si a0 o (a) si a<0}
Aumentacin, o prox. Biased, es
A(a)= {(a) si a0 o (a) si a<0}
(a) si (a)a<mitad
Proximidad es
(a) si mitad<a(a)
si a=mitad entonces
{(a) si a0 o (a) si a<0}
mitad = ((a) + (a))/2
T siempre redondea hacia el cero, A redondea alejndose del cero y P siempre
adopta el nmero mquina ms cercano, y en el caso de ser el de la mitad elige el de
mayor magnitud. La mayora de las mquinas elige o bien T o P, un poco como vimos.
El diseador del sistema de punto flotante debe realizar decisiones que afectan tanto la
velocidad de cmputo como a la exactitud. Se puede demostrar que la mejor precisin
se obtiene con bases bajas y mtodos de redondeo sofisticados; y su contraposicin,
velocidades de cmputo se incrementan con valores grandes de la base y mtodos de
redondeo sencillos como truncado. Un buen mtodo de redondeo incrementa la
precisin pero a su vez puede reducir (o afectar) la velocidad de todo el sistema.
La norma EE754 busca enstandarizar la representacin. Se tiene 1 bit para el
signo de la mantisa, 8 para el exponente y 23 para la mantisa. El exponente se
representa en exceso 127 y la mantisa es fraccionaria en signo magnitud con punto a
la izquierda. Se asume un hidden bit a la izquierda de la mantisa antes del punto, dado
que trabajar en singo magnitud, normalizado con base 2, el dgito ms significativo va
a ser 1 por lo que resulta redundante. La norma adopta base 2 porque con el hidden
bit se tiene 1 bit ms en la mantisa, lo que reduce el error absoluto a la mitad.
La norma hace reserva del exponente mnimo 0, y el mximo 255 para casos
especiales. Si el exponente es 0 y la magnitud 0, se est representando el 0, si el
exponente es 0 y la mantisa es distinta de 0 tenemos un denormal, un nmero con el
menor exponente ms chico que el menor normalizado. Esto permite in acercamiento
gradual al 0. Si el exponente es 255 y la mantisa 0 se representar el infinito, si el
exponente es 255 y la mantisa no es 0 se tiene un NaN.

S-ar putea să vă placă și