You are on page 1of 7

Sistemas de Numeracin A diario usamos el sistema decimal para representar nmeros.

Este sistema utiliza los dgitos decimales o smbolos: 0,1,2,3,4,5,6,7,8,9. Podramos usar otro sistema de numeracin pero para nuestra conveniencia usamos el decimal. Un sistema de numeracin puede ser definido como un medio que se utiliza para representar una cantidad usando smbolos. La cantidad de smbolos distintos que se emplean se conoce como la base del sistema. El sistema binario contiene dos smbolos: 0 y 1, por lo tanto su base es igual a dos. Adems cada smbolo en un nmero posee un valor posicional. Por ejemplo, considere lo que significa el nmero 283
283 = 2*100 + 8*10 * 3

Esto significa que cada dgito del nmero smbolo se multiplica por 10 elevado a la potencia correspondiente a la posicin de dicho dgito. Ejemplo:
5369 = 5*103 + 3*102 + 6*101 + 9*100

Lo anterior tambin se aplica para un nmero representado en otra base. El nmero 110102 representa el nmero 2610 en base decimal.
110102 = 1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 16 + 8 + 0 + 2 + 0 = 2610

En general, un nmero dm dm-1 . . . . d0 en base b representa

en decimal. Ejemplo: Convertir 1378 a Decimal.


1378 = 1*82 + 3*81 + 7*80 = 64 + 24 + 7 = 9510

Conversin de Decimal a cualquier Base Dado un nmero en decimal queremos obtener su representacin en base b. Usando la regla de Horner podemos expresar un nmero Num de la siguiente manera:
Num10 = d0 b0 + d1 b1 + d2b2 + . . . + dn-2 bn-2 + dn-1 bn-1

Num10 = d0 + d1 b1 + d2b2+ . . . + dn-2 bn-2 + dn-1 bn-1 Num10 = d0 + b*( d1 + d2b1+ . . . + dn-2 bn-3 + dn-1 bn-2) Num10 = d0 + b*( d1 + b*( d2 + . . . + dn-2 bn-4 + dn-1 bn-3)) Num10 = d0 + b*( d1 + b*( d2 + b*( d3 +. . . + b*( dn-2 + dn-1 b)...)))

Reescribimos Num10 como Num10 = d0 + b* q1 donde q1= d1 + b*( d2 + b*( d3 +. . . + b*( dn-2 + dn-1 b)...))) Para obtener q1 basta con usar divisin entera, y para obtener d0 usamos la funcin mdulo. q1 = Num10 / b (divisin entera) y d0 = Num10 mod b (mdulo) q1 a su vez es un nmero expresable como q1 = d1 + b* q2 , de aqui obtenemos el siguiente algoritmo de conversin. Algoritmo: i := 0 Mientras Num10 <> 0 hacer di := Num10 mdulo b Num10 = Num10 / b i:= i+1

Ejercicios: Convertir 5010 a base 3: Num10 = 50 d0 = (50 mdulo 3) = 2 Num10 = 50 div 3 = 16 d1 = (16 mdulo 3) = 1 Num10 = 16 div 3 = 5 d2 = (5 mdulo 3) = 2 Num10 = 5 div 3 = 1 d3 = (1 mdulo 3) = 1 Num10 = 1 div 3 = 0 5010 = 12123

Convertir 7110 a base 8 (Octal) Para convertir un nmero decimal a una base que es potencia de dos (4,8,16,etc.) , se pueden usar dos mtodos distintos. Un mtodo es utilizando el algoritmo especificado anteriormente y la otra alternativa es convertir el nmero a binario (base 2) y luego agrupar los dgitos dependiendo de la base a la cual se quiera llevar el nmero (22, 23, 24,etc.)

Num10 = 71 d0 = (71 mdulo 8) = 7 Num10 = 71 div 8 = 8 d1 = (8 mdulo 8) = 0 Num10 = 8 div 8 = 1 d2 = (1 mdulo 8) = 1 Num10 = 1 div 8 = 0

d0 = (71 mdulo 2) = 1 Num10 = 71 div 2 = 35 d1 = (35 mdulo 2) = 1 Num10 = 35 div 2 = 17 d2 = (17 mdulo 2) = 1 Num10 = 17 div 2 = 8 d3 = (8 mdulo 2) = 0 Num10 = 8 div 2 = 4 d4 = (4 mdulo 2) = 0 Num10 = 4 div 2 = 2 d5 = (2 mdulo 2) = 0 Num10 = 2 div 2 = 1 d6 = (1 mdulo 2) = 1 Num10 = 1 div 2 = 0

7110 = 1078

7110 = 1 000 111 2 agrupamos los dgitos en grupos de tres dgitos binarios.

7110=

001 1

000 0

111 78

Convertir 7110 a base 16 (Hexadecimal) Los smbolos que se utilizan en esta base son 0,1,2,...,9 y las letras

a,b,c,d,e,f. Si disponemos de la representacin del nmero decimal 71 en binario podemos hacer la conversin simplemente reagrupando los dgitos binarios en grupos de 4.

7110=

0100 0111 4 716

Representacin de Nmeros Negativos Signo-Magnitud Una alternativa para representar nmeros positivos y negativos es usando la representacin en Signo y Magnitud. En una palabra de n bits, los n-1 bits de la derecha representan la magnitud del entero, y el bit ms a la izquierda representa el signo.
Signo Magnitud

Esta representacin presenta varias limitaciones. Una de ellas es que la suma y la resta deben tener en cuenta tanto los signos como susmagnitudes relativas para llevar a cabo la operacin. Otra limitacin es que hay dos representaciones del nmero 0.

Representacin en Complemento a Dos Esta representacin utiliza el bit ms significativos (izquierda) como bit de signo, facilitando la comprobacin de si el entero es positivo o negativo. Lo que difiera con la representacin de Signo-Magnitud es la forma de interpretar el resto de los bits. Consideremos un entero de n bits, A representado en Complemento a Dos. Si A es positivo, el bit de signo, a0, es cero. Los restantes bits representan la magnitud del nmero de la misma forma que en la representacin SignoMagnitud.

El nmero cero se representa como positivo y por lo tanto tiene un bit de signo 0 y una magnitud de 0. Para un nmero negativo A, el bit de signo, a0 es 1. Los n-1 bits restantes pueden tomar cualquiera de las 2n-1 combinaciones. Por lo tanto el rango de nmeros enteros negativos que pueden ser representados van desde -1 hasta -2n-1. Una asignacin conveniente de valores es hacer que los bits an-1an-2...a1a0 sean iguales al nmero positivo 2n-1+A

0000 0000 0000 0000 0000 0000 0000 0000 = 0 0000 0000 0000 0000 0000 0000 0000 0001 = 1 0000 0000 0000 0000 0000 0000 0000 0010 = 2

....
0111 1111 1111 1111 1111 1111 1111 1110 = 2.147.483.646 0111 1111 1111 1111 1111 1111 1111 1111 = 2.147.483.647 1000 0000 0000 0000 0000 0000 0000 0000 = -2.147.483.648

....
1111 1111 1111 1111 1111 1111 1111 1111 = -1

Algoritmo para Complemento a Dos

Obtener el complemento booleano de cada bit, es decir, invertimos los bits del nmero positivo ( los 0 pasan a 1 y los 1 pasan a 0). Sumarle 1

Propiedades del complemento a Dos

x 0 El bit ms significativo es 0

x < 0 El bit ms significativo es 1 Una sola representacin del cero. Algoritmo para complementar (descrito anteriormente). Para restar dos nmeros a b basta con hacer a + C2(b).

Ejemplo: Dado el nmero 10012 en Complemento a Dos usando 4 bits, qu nmero representa en decimal ?

10012 = -24 + 1*20 = -16 + 1 = -15

Ejemplo: Cul es la representacin de -2 usando Complemento a Dos con 32 bits?

2=

0000 0000 0000 0000 0000 0000 0000 0010 1111 1111 1111 1111 1111 1111 1111 1101 + 0000 0000 0000 0000 0000 0000 0000 0001 =

-2 =

1111 1111 1111 1111 1111 1111 1111 1110

Ejemplo: Cul es la representacin de -17 usando Complemento a Dos con 32 bits?


17 = 0000 0000 0000 0000 0000 0000 0001 0001 1111 1111 1111 1111 1111 1111 1110 1110 + 0000 0000 0000 0000 0000 0000 0000 0001 = -17 = 1111 1111 1111 1111 1111 1111 1110 1111

Ejercicios Propuestos:

Completar la siguiente tabla de conversiones entre bases

Base Nmero 13910 51210 1063010 2597810

16

Completar la siguiente tabla de conversiones entre bases


Base Nmero 5f16 1658 ffffffa516 011101012 01112203 2 8 16

Representar los siguientes nmeros en Complemento a Dos con 16 bits


25610 -25610 -94510

A qu nmero decimal corresponden las siguientes representaciones en Complemento a Dos de 32 bits?


ffff fffa16 0000 002716