Sunteți pe pagina 1din 8

Representacin de nmeros en el computador

De forma general, un computador representa todos los datos como secuencias


finitas de valores binarios o cadena de bits. Esto se relaciona con el hecho de
que las unidades lgicas fundamentales de las computadoras digitales sean
componentes electrnicos de apagado/encendido.
La unidad fundamental mediante la cual se representa la informacin se llama
palabra. sta es una entidad que consiste en una cadena de dgitos binarios o
bits (binary digits). Por lo comn, los nmeros son guardados en una o ms
palabras. (Chapra y Canale ,p61,2007 )
A. Sistemas numricos:
(Tomado de Teora de Errores y aritmtica de computador-UNI-FIM)
Partiremos entonces describiendo a un sistema de numeracin como un
conjunto de smbolos usados para representar informacin numrica. Tenga en
cuenta que el nmero de smbolos de este conjunto depende de la base del
sistema de numeracin. Algunos sistemas de numeracin son los siguientes:

Binario {0,1}
Decimal {0, 1, 2, 3, 4, 5, 6, 7, 8,9}
Octal {0, 1, 2, 3, 4, 5, 6,7}
Hexadecimal {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

Un nmero en base q se denota como:


valores desde 0 hasta

(an a n1 a1 a0 . b1 b2 bk )q

toma

q1

La conversin a decimales es, por definicin:

( a n a n1 a1 a0 . b1 b2 bk )q =an q n+ an1 qn1 ++ a1 q 1+ a0 q0 + b1 q1+ b2 q2 ++ bk qk +


(3.1)
El sistema natural de numeracin digital es el binario (base 2), utilizando slo
los dgitos 0 y 1.
Ejemplo:
Decimal: (123.25)10

( 1 102 ) + ( 2 101 ) + ( 3 100 ) + ( 2 101 ) + ( 5 102 )=123.25


Binario: (1011.01)2
( 1 23 ) + ( 0 22) + ( 1 21 )+ ( 1 20 ) + ( 0 21 ) + ( 1 22 ) =11.25

Si bien las computadoras utilizan el sistema de representacin binario, a veces,


tambin son tiles las representaciones en octal y hexadecimal.
La conversin de base decimal a base q es:
Conversin de la parte entera:
(an a n1 a1 a0 )q=(an a n1 a1 )q q+(a 0)q

(3.2)

Al dividir un nmero entero entre q el resto es el dgito menos significativo del


nmero en base q. Dividiendo sucesivamente (hasta llegar al cociente 0)
obtenemos los sucesivos dgitos del nmero en base q.
Conversin de la parte fraccionaria:
(. b1 b2 bk )q q=(b 1)q +(b2 b k )q

(3.3)

La parte entera del resultado de multiplicar nuestro nmero por q es el primer


dgito tras el punto decimal. Reteniendo la parte fraccionaria que resulta en
cada paso y repitiendo sucesivamente el proceso, vamos obteniendo el resto
de cifras tras el punto.
Ejemplo: Convertir (15) 10 en base 2
Solucin:

Figura :Conversion a base dos Fuente: Teora de Errores y Aritmtica del


Computador
Ejemplo: Escribamos (26.1)10 en base 2
Solucin:
Parte entera: Dividiendo sucesivamente, tenemos que:
26 213 0; 13 26 1; 6 23 0; 3 211; 1 20 1
Leyendo de izquierda a derecha los nmeros en rojo: (26) 10 = (11010)2

Parte fraccionaria: Multiplicando sucesivamente por dos y separando la parte


fraccionaria
1.1 x 2=0.2; 0.2 x 4 = 0.4; 0.4 x 2= 0.8 ; 0.8 x 2= 1.6; 0.6 x 2=1.2;
1.2 x 2=
Leyendo de izquierda a derecha tenemos los dgitos de la parte fraccionaria
(subrayados) luego (0.1)10 = (0.00011)2. Donde las cifras subrayadas son las
cifras peridicas. Por lo tanto: (26)10 = (11010.00011)2

B. Representacin entera:
El mtodo ms sencillo es el de magnitud con signo y emplea el primer bit de
una palabra para indicar el signo: con un 0 para positivo y un 1 para el
negativo. Los bits sobrantes se usan para guardar el nmero. Por ejemplo, el
valor entero 173 puede guardarse en la memoria de una computadora de 16
bits como se muestra en la figura.

Nmer
o

Signo

Figura..: La representacin de un entero decimal 173 en una computadora de 16 bits


usando el
Mtodo de magnitud con signo.Fuente:Chapra y Canale

La representacin por este mtodo presenta ciertos inconvenientes:


Se deben analizar los bits de signo para ver si la operacin es suma o
resta
Posibilidad de desbordamientos en sumas, restas y productos.
Observe que el mtodo de magnitud con signo descrito antes no se utiliza para
representar enteros en computadoras convencionales. Se prefiere usar una
tcnica llamada complemento de 2 que incorpora en forma directa el signo
dentro de la magnitud del nmero, en lugar de emplear un bit adicional para
representar ms o menos. Sin embargo, todas las computadoras digitales
estn limitadas en cuanto a su capacidad para representar enteros. Esto es, los
nmeros por encima o por debajo de un rango no pueden representarse. Una
limitacin ms importante se encuentra en el almacenaje y la manipulacin de
cantidades fraccionarias.( Chapra y Canale,p62, 2007)
Complemento a uno:

Esta representacin permite tambin la representacin de nmeros positivos y


negativos. Dado un nmero en binario puro, su complemento a uno se calcula
invirtiendo los valores de todos sus bits. Es decir, cambiando los unos por ceros
y los ceros por unos. En general, si se utilizan n bits para representar nmeros
en complemento a uno, se admite la representacin de nmeros cuyo valor
absoluto se pueda representar con n-1 bits. De esta forma un nmero positivo
siempre tiene el bit ms significativo a cero y un nmero negativo siempre tiene
el bit ms significativo a uno.
El valor de un nmero en complemento a uno viene dado por:

V (X )

n2

2i . x i si x n1=0
i=0
n2

2i . x i si xn 1=1
i=0

Para realizar el cambio de signo de una cantidad en complemento a uno, basta


calcular el complemento de dicha cantidad.
Ejemplo:
2110=00010101c 1
2110=11101010c 1 ( El primer bit debe ser uno )

Complemento a dos:
La representacin de complemento a dos e otra alternativa para representar
nmeros positivos y negativos. En este sistema los nmeros positivos se
representan en binario puro. Para representar un nmero negativo se resta de
2n el valor absoluto del nmero a representar. Esto hace que el bit ms
significativo pueda utilizarse para representar el signo.
Por tanto el valor del nmero viene dado por la expresin:

V (X )

n2

2i . xi si x n1=0
i=0

n2

2n1+ 2i . x i si x n1=1
i=0

Una propiedad muy til de esta representacin es la sencillez con que se


puede realizar el cambio de signo de una cantidad. Dado un nmero
representado en complemento a dos, se puede realizar el cambio de signo

sumando 1 al complemento a uno (sustitucin de 1por 0 y 0 por 1) del nmero


original.
Ejemplo:
2110=00010101c 2
2110=11101011 c1 ( El primer bit debe ser uno )

Ejemplo:
N=0110110101

Si

El complemento a uno es:

C1N =1001001010 y el complemento a dos es:

C2 =1001001011
(Jesus Carretero Perez,Felix Garcia Carballeira,Jose Daniel Garcia Sanchez y
David Exposito Sinh,p15,p16,p17,2009)
C. Representacin del punto flotante:
Las cantidades fraccionarias generalmente se representan en la computadora
usando la forma de punto flotante. Con este mtodo, el nmero se expresa
como una parte fraccionaria, llamada mantisa o significando, y una parte
entera, denominada exponente o caracterstica:
De esta manera un valor viene dado por la expresin:
m b

(3.4)

Donde m= la mantisa= la base del sistema numrico que se va a utilizar y e=el


exponente.
Por ejemplo, el nmero 156.78 se representa como 0.15678 x10 3 en un sistema
de base 10 de punto flotante.
En la figura se muestra una forma en que el nmero de punto flotante se
guarda en una palabra. El primer bit se reserva para el signo; la siguiente serie
de bits, para el exponente con signo; y los ltimos bits, para la mantisa.

Figura: Fuente: Chapra y Canal Mtodos Numricos para ingenieros


Observe que la mantisa es usualmente normalizada si tiene primero cero
dgitos.
Por ejemplo, suponga que la cantidad 1/34 = 0.029411765 se guarda en un
sistema de base 10 con punto flotante, que nicamente permite guardar cuatro
lugares decimales.
Entonces, 1/34 se guardara como 0.0294x10 0 sin embargo al hacerlo as la
inclusin del cero intil a la derecha del punto decimal nos obliga a eliminar el
digito 1 del quinto lugar decimal. El nmero puede normalizarse para eliminar el
cero multiplicando la mantisa por 10 y disminuyendo el exponente en 1, para
quedar
0.2941 x 10-1
As, se conserva una cifra significativa adicional al guardar el nmero.
La consecuencia de la normalizacin es que el valor absoluto de m queda
limitado.
Esto es
1
m< 1
(3.5)
b

Donde b = la base. Por ejemplo, para un sistema de base 10, m estara entre
0.1 y 1; y para un sistema de base 2, entre 0.5 y 1.
La representacin de punto flotante permite que tanto fracciones como
nmeros muy grandes se expresen en la computadora. Sin embargo, hay
algunas desventajas. Por ejemplo, los nmeros de punto flotante requieren ms
espacio y ms tiempo de procesado que los nmeros enteros. Ms importante
an es que su uso introduce una fuente de error debido a que la mantisa
conserva slo un nmero finito de cifras significativas. Por lo tanto, se introduce
un error de redondeo
Se presentan diversos aspectos de la representacin de punto flotante, que son
importantes respecto de los errores de redondeo en las computadoras:
1. El rango de cantidades que pueden representarse es limitado. Como en el
caso de los enteros, hay nmeros grandes positivos y negativos que no pueden
representarse.
Intentar emplear nmeros fuera del rango aceptable dar como resultado el
llamado error de desbordamiento (overflow). Sin embargo, adems de las
grandes cantidades, la representacin de punto flotante tiene la limitacin

adicional de que nmeros muy pequeos no pueden representarse. Esto se


relaciona con las limitaciones de normalizacin de la ecuacin 3.5

2. Existe slo un nmero finito de cantidades que puede representarse dentro


de un rango. As, el grado de precisin es limitado. Es evidente que los
nmeros irracionales no pueden representarse de manera exacta.( Chapra y
Canale,p66, 2007)
De todas las representaciones de coma flotante, la ms importante es la
definida en el estndar IEEE754 en el ao 1985.La mayora de los
procesadores modernos implementan dicho estndar para representar y operar
con nmeros en coma flotante.
El estndar define dos formatos de representacin: un formato de simple
precisin que utiliza 32 bits y un formato de doble precisin que utiliza 64 bits.
Precisin simple:(32bits)
Signo(S)
1bit
Precisin doble:(64bits)
Signo(S)
1bit

Exponente(E)
8bits

Mantisa(M)
23bits

Exponente(E)
11bits

Mantisa(M)
52bits

La doble precisin permite manejar ms cifras significativas y exponentes de


mayor rango que en simple precisin. (Tomado de Teora de Errores y
aritmtica de computador-UNI-FIM)
D. Aritmtica de nmeros en la computadora
Las manipulaciones aritmticas en la computadora tambin pueden dar como
resultado errores de redondeo. Se ilustrara el efecto del error de redondeo en
las operaciones bsicas: suma, resta, multiplicacin y divisin. Otras bases de
nmeros pueden tener un comportamiento similar. Para simplificar el anlisis,
emplearemos una computadora decimal hipottico con una mantisa de 4
dgitos y un exponente de 1 dgito.
Adems, se usar el corte. El redondeo puede implicar errores similares,
aunque menos dramticos.
Cuando se suman dos nmeros de punto flotante, el nmero de la mantisa con
el exponente menor se modifica de tal forma que los exponentes sean los
mismos. Esto tiene el efecto de alinear los puntos decimales.
Por ejemplo, suponga que se quiere sumar 0.1557 x 10 1+ 0.438110-1. El
decimal de la mantisa del segundo nmero se recorre a la izquierda un nmero
de lugares igual a la diferencia de los exponentes [1 (1) = 2], as,

0.4381 x 101 0.004381 x101


Ahora se suman los nmeros,
0.1557 x 101
0.004381 x101
0.160081 x101
Y el resultado es cortado a 0.1600 x 101. Note cmo los ltimos dos dgitos del
segundo nmero que se recorrieron a la derecha fueron eliminados de los
clculos.
La resta se realiza en forma idntica a la suma, con la excepcin del signo del
sustraendo, que es negativo. Por ejemplo, suponga que hacemos la resta
36.41 menos 26.86.
Esto es
0.3641 x 102
0.2686 x 102
0.0955 x 102
Aqu el resultado no est normalizado y se debe recorrer el decimal un lugar a
la derecha para obtener 0.9550 x10 1 = 9.550. Observe que el cero sumado al
final de la mantisa no es relevante, tan slo llena el espacio vaco creado al
recorrer los nmeros. Es posible obtener resultados ms dramticos todava,
cuando las cantidades estn muy cercanas. La prdida significativa durante la
resta de nmeros casi iguales es una de las principales fuentes de errores de
redondeo en los mtodos numricos.
La multiplicacin y la divisin resultan un poco ms sencillas que la suma y la
resta. Los exponentes se suman y la mantisa se multiplica. Debido a que la
multiplicacin de dos mantisas de n dgitos da como resultado 2n dgitos,
muchas computadoras ofrecen resultados intermedios en un registro de doble
longitud. Por ejemplo,
0.1363 103x 0.6423 10-1 = 0.08754549 102
Si, como en este caso, se introduce un cero, el resultado es normalizado,
0.08754549 102 0.8754549 101
Y cortando resulta
0.8754 101
La divisin se realiza en forma similar, aunque las mantisas se dividen y los
exponentes se restan. Entonces el resultado es normalizado y cortado.
Ciertos mtodos requieren un nmero extremadamente grande de
manipulaciones aritmticas para llegar a los resultados finales. Adems, dichos
clculos a menudo son interdependientes; es decir, los clculos son
dependientes de los resultados previos. En consecuencia, aunque el error de
redondeo individual sea pequeo, el efecto acumulativo durante el proceso de
muchos clculos puede ser relevante.( Chapra y Canale,p70-71, 2007)

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