You are on page 1of 53

Instituto Tecnolgico de Chihuahua II

Departamento de Ciencias Bsicas

MATEMTICAS DISCRETAS

M.C. Elizabeth Vzquez Gonzlez


M.C. Griselda Armendriz Borunda

PRESENTACIN
Este texto est dirigido a ti, que estudias matemticas discretas, ha sido diseado buscando
reducir tu trabajo de escritura durante las sesiones de clase, de manera que puedas dedicarte al
razonamiento que requieren cada una de las actividades. Hablamos de reducirlo porque la idea
no es eliminarlo, pues siempre tendrs necesidad de hacer anotaciones propias que te ayuden a
integrar los nuevos conceptos a los que ya tienes Por esta razn, ms que texto lo que te
estamos presentando es un cuaderno de trabajo.
El texto contiene conceptos bsicos de lgica y relaciones que permiten dar fundamento al
tema central del curso, la teora de grafos, misma que da origen a la matemtica discreta.
Aunque la teora de grafos nace en el siglo XVIII, es con la llegada de las computadoras que
empieza su desarrollo; quiz sea sta la razn (su juventud) por la que an no hay acuerdo
entre autores respecto a la nomenclatura empleada y a las definiciones de muchos de los
conceptos involucrados en ella; hay, incluso, inconsistencias entre las distintas definiciones
dadas por un mismo autor. Por otra parte, no hay en el mercado un texto que cumpla con la
totalidad de los temas contenidos en el programa oficial de estudios, de esta materia, para la
carrera de Ingeniera en Sistemas Computacionales del SNEST de manera que es difcil
abordar el curso de modo consistente con los textos disponibles.
A lo largo del texto se incluyen algoritmos que sirven de base para programar en la
computadora tareas especficas cuyo fundamento matemtico se analiza como parte del
contenido del texto, algoritmos como multiplicacin y divisin binaria, recorridos en rboles,
bsqueda del camino ms corto en grafos. Estos algoritmos se presentan acompaados de
ejercicios propuestos y resueltos para facilitar la familiarizacin con ellos.
Para la elaboracin de este texto hemos partido de la teora expuesta en diferentes libros con la
idea de lograr una estructura consistente de los conceptos, de tal forma que una definicin no
se contraponga a otra y cada una de las definiciones abordadas sea lo ms general posible.
Hemos mantenido en mente el aspecto didctico, ya que otro de nuestros objetivos es que
conforme realices las actividades de anlisis, reflexin y discusin propuestas fortalezcas las
habilidades necesarias para el razonamiento matemtico, la interpretacin de textos
matemticos y, en general la apropiacin de conceptos matemticos. Para esto, muchas de las
actividades que proponemos estn diseadas para que las realices en pequeos grupos o para
que cotejes los resultados con tus compaeros y luego se discutan en grupo bajo la
coordinacin del profesor.
Es conveniente aclarar que el tema de grafos es demasiado denso en definiciones y que no
esperamos que las aprendas de memoria, sino que las interpretes adecuadamente y puedas
manejarlas y relacionarlas en el contexto de un problema; sta es la razn por la que hemos
incluido un concentrado de las mismas al final del texto para que lo consultes en cualquier
momento.
Te recomendamos, como una tarea importante, hacer una lectura completa del tema en
estudio, as como ir resolviendo los ejercicios de cada seccin, pues esto te permitir una
mejor comprensin del mismo. Al final del texto encontrars todas las respuestas a los
ejercicios propuestos, tambin hemos incluido como pies de pgina las respuestas a las

preguntas de reflexin a lo largo del texto. Como un apoyo adicional se da al final de cada
unidad una seleccin de ejercicios que abarcan todo el contenido de la misma con la finalidad
de que puedas hacer un repaso general para que consolides los conceptos.
Esperamos que este documento sea realmente til para tu aprendizaje y te agradeceremos
cualquier comentario que nos ayude a mejorarlo.
M. C. Elizabeth Vzquez G.
M. C. Griselda Armendriz B.
Depto. de Ciencias Bsicas del I. T. Ch. II

NDICE
1. SISTEMAS NUMRICOS
1.1. Introduccin 1
1.2. Clasificacin de los nmeros reales 1
1.3. Sistema decimal sistema binario 6
1.4. Sistema numrico binario 8
1.5. Conversin binario a decimal 10
1.6. Conversin decimal a binario 11
1.7. Adicin binaria 14
1.8. Multiplicacin binaria 16
1.9. Sustraccin binaria 19
1.10 Divisin binaria 21
1.11 Sistema hexadecimal 23
1.12 Conversin hexadecimal decimal 24
1.13 Conversin decimal hexadecimal 24
1.14 Interconversin hexadecimal binaria 25
1.15 Adicin y sustraccin hexadecimal 27
1.16 Complementos 29
1.17 Algoritmo de Booth para la multiplicacin 37
1.18 Algoritmo para la divisin 39

1. SISTEMAS NUMRICOS
1.1 Introduccin
Un sistema numrico posicional nos permite representar cantidades tan grandes, tan
pequeas y tan precisas como se necesite con un nmero finito de smbolos, llamados
dgitos del sistema. Al nmero b de dgitos se le llama base. Como veremos, cualquier
nmero puede representarse como una suma de potencias de la base b, en la cual cada
potencia est multiplicada por uno de los dgitos. De manera que la potencia de la base b
pondera al dgito de acuerdo con su posicin, de aqu el nombre de sistema numrico
posicional. El sistema numrico binario, el familiar sistema numrico decimal y el
hexadecimal son ejemplos de sistemas de numeracin posicional. Los sistemas numricos
posicionales son valiosos porque en ellos los nmeros se construyen en forma sistemtica,
lo cual permite que la operatividad pueda hacerse en forma algortmica y lo ms
importante, teniendo el algoritmo para realizar una operacin en un sistema, su uso puede
extenderse a cualquier otro sistema.
En este captulo estudiaremos el sistema binario y el sistema hexadecimal como ejemplos
importantes para aprender a realizar operaciones aritmticas en cualquier sistema posicional
de la misma manera que lo hacemos en el sistema decimal. Analizaremos estos dos
sistemas (binario y hexadecimal) porque son los ms importantes en el campo de la
computacin.
Muchos de los componentes electrnicos de una computadora son de naturaleza biestable;
es decir, pueden estar en cualquiera de dos estados (tales como encendido/apagado, o
magnetizado en la direccin de las manecillas del reloj/ en direccin contraria). Estos dos
estados posibles comnmente se denotan por 0 y 1, que son los smbolos para los dgitos
del sistema numrico binario. An ms, una unidad individual de informacin se representa
en la computadora por una secuencia de estos dgitos binarios (bits). Tales sucesiones de
bits pueden ser consideradas como nmeros binarios y muchas computadoras usan el
sistema numrico binario no slo para representar cantidades, sino para efectuar clculos,
usando la aritmtica binaria. Para entender la aritmtica binaria y aprender a operar con ella
haremos paralelamente una revisin cuidadosa del sistema decimal, buscando que sea
evidente la manera en que se hacen las operaciones aritmticas en este sistema. De esta
forma extenderemos primero al sistema binario y luego a otros sistemas la operatividad que
ya nos es familiar en el sistema decimal.

1.2 Clasificacin de los nmeros reales


Puesto que nuestro objeto de estudio son los nmeros, comencemos por asentar algunas
cuestiones importantes sobre ellos. El conjunto de los nmeros reales (R) puede ser
expresado en distintos sistemas numricos, nuestro estudio de estos nmeros ha sido hecho
hasta ahora en el sistema decimal. En este sistema un nmero real es una secuencia de los
dgitos 0,1,2,3,4,5,6,7,8,9 con un punto decimal intercalado, por ejemplo 425.1237. A la
parte colocada a la izquierda del punto se le llama parte entera y a la de la derecha
expansin decimal.
1

Vistos as, los nmeros reales pueden clasificarse en decimales peridicos y decimales no
peridicos. Son decimales peridicos aqullos cuya expansin decimal tiene un nmero
finito de dgitos que se repite indefinidamente en forma idntica (al conjunto de dgitos que
se repite se le llama perodo), por ejemplo: 327.14141414...(perodo: 14),
1.33333...(perodo: 3), 56.1348325325325325(perodo: 325), 29.81000...(perodo: 0),
3.000...(perodo: 0). Cuando el perodo de un decimal peridico es cero, como en los
ltimos dos ejemplos, no se acostumbra escribir los ceros; as escribimos 29.81 en lugar de
29.81000... y 3 en lugar de 3.000..., aunque en este caso tambin la expansin decimal es
infinita, como se omiten los ceros se acostumbra decir que el nmero tiene expansin
decimal finita. Los decimales no peridicos son aqullos con expansin decimal infinita
en la que no existe un grupo de dgitos que se repita idntica e indefinidamente, por
ejemplo: 389.780102030405..., 0.1234567891011..., 234.71711711171111...,
Adems de clasificar a los nmeros reales de la forma anterior (decimales peridicos y
decimales no peridicos) existe otra manera de acuerdo con la forma en que histricamente
se han ido construyendo. Los primeros en conceptualizarse fueron los nmeros naturales,
que adems son los ms simples, con ellos contamos nuestros discos, nuestros libros,...; al
conjunto formado por estos nmeros ({0, 1, 2, 3, 4, 5, ...}) lo denotaremos con la letra N,
de modo que N = {0, 1, 2, 3, 4, 5, ...}.
Si al conjunto de los naturales agregamos sus inversos aditivos, obtenemos los nmeros
enteros que denotaremos con , as = {..., -3, -2, -1, 0, 1, 2, 3,...}. Observa que todo
elemento deN es tambin un elemento de . Esto esN est contenido en (que se denota
N ).
Cuando tratamos de medir las propiedades fsicas de un objeto, como su longitud, peso o
volumen, los enteros son inadecuados; estn demasiado espaciados para que sea posible
representar con ellos una magnitud con una aproximacin suficientemente buena por lo que
es importante considerar los nmeros racionales, esto es, los nmeros que pueden
representarse como un cociente de dos enteros y que denotaremos con la letra Q, as
p
Q=
| p, q , q 0
q
8
4
14
0
0
21
Nota que Q ya que por ejemplo 4 =
= ..., 7 =
= ..., 0 = = ...
2
1
2
4
5
3
Hasta este punto tenemos, en esta clasificacin, que N Q. Hemos hablado de los
reales que se pueden escribir como un cociente de dos enteros, los racionales; sin embargo
existen nmeros reales, como 2 , , e, 3, 8, ..., que no se pueden expresar como un
cociente de dos enteros, a este conjunto de nmeros se le da el nombre de nmeros
irracionales y se le denota por I.
Realiza las siguientes actividades para que veas la relacin que hay entre las dos
clasificaciones de los nmeros reales que hemos mencionado.

Ejercicios 1.2a:
1) Representa la relacin que hay entre los conjuntos: N, , Q y R mediante diagramas de
Venn.
2) Cmo clasificaras a los enteros, como decimales peridicos o como no peridicos?
Por qu?
2
3) Es un decimal peridico o no peridico?
5
3
4) Es un decimal peridico o no peridico?
7
5) Podra decirse que Q est contenido en el conjunto de los decimales peridicos? Por
qu?
6) Podr expresarse 0.333... como un cociente de dos enteros?
7) Podr expresarse 0.321321321... como un cociente de dos enteros?
8) Podra decirse que el conjunto de los decimales peridicos est contenido en Q? Por
qu?
9) Complementa la representacin que hiciste en el problema 1 escribiendo decimales
peridicos y decimales no peridicos donde corresponda.
Si no sentiste seguridad al contestar alguna de las preguntas anteriores, regresa a ellas al
finalizar esta seccin.
p
Para expresar un nmero racional
en forma decimal basta con hacer la divisin q p
q
en la que el dividendo es el numerador p y el divisor el denominador q. Adems, sabemos
que el nmero de residuos distintos posibles que se obtienen durante el proceso de hacer
1
una divisin es igual al valor del divisor, por ejemplo para representar en forma decimal,
8
los 8 posibles residuos distintos al efectuar la divisin de 1 entre 8 son: 0, 1, 2, 3, 4, 5, 6 y
7. No podra obtenerse un nmero mayor que 7 como residuo porque esto significara que
el cociente fue mal estimado, debiendo ser un nmero mayor. Haz la divisin y observa que
en este caso los residuos obtenidos son 1, 2, 4 y 0, en ese orden. Al momento de obtener
1
cero como residuo, la divisin concluye, de manera que la representacin decimal de
8
1
tiene expansin decimal finita, es decir = 0.125 es un nmero decimal peridico con
8
perodo cero (ya que los dgitos a la derecha de 5 son todos cero, por lo que podemos
omitirlos). Lo mismo sucede con cualquier otro racional en el que al efectuar la divisin
obtengamos residuo cero.
El otro caso que puede presentarse es que jams obtengamos un residuo cero, as el proceso
de la divisin sera un proceso infinito; sin embargo como el nmero de residuos es finito
(ya que los residuos son mayores o iguales que cero y menores que el divisor), en algn
momento por lo menos uno tendr que repetirse y si despus de ste que se repite hay otros
residuos stos se repetirn tambin en el mismo orden, como consecuencia en el cociente
3

habr tambin un grupo de dgitos que se repetirn en forma regular. Por ejemplo al querer
167
representar en forma decimal el nmero
obtenemos esto:
165
1.01212...
165 167.00000...
q
2 00
350
200
350
20...
o sea, el nmero

167
= 1.0121212... es un decimal peridico con perodo 12.
165

Ejercicios 1.2b:
1) Da la representacin decimal de los siguientes nmeros:
375
a)
4
1
b)
7
1
c)
3
2) Si al efectuar la divisin de p entre q se obtienen todos los residuos posibles, puedes
p
concluir que la expansin decimal de
es finita?
q
3) Si al efectuar la divisin de p entre q no se obtienen todos los residuos posibles,
p
puedes concluir que la expansin decimal de
es infinita?
q
Por lo que hemos visto podemos concluir que cualquier nmero racional es un decimal
peridico. La pregunta que surge aqu y que te hicimos en el punto 8) del ejercicio anterior
es cualquier decimal peridico podr expresarse como un cociente de dos enteros?, la
respuesta es s. De hecho cuando el perodo es cero es muy fcil expresar al nmero como
3
352
un cociente de dos enteros, por ejemplo: 0.3 =
, 3.52 =
. Sin embargo, es ms
10
100
complejo expresar como un cociente de dos enteros un decimal peridico con perodo
distinto de cero. Mostraremos un mtodo para hacerlo expresando el nmero 0.88888...
como cociente de dos enteros.
Si hacemos X = 0.888... entonces
10 X = 8.888...
(esto se hace para tener el perodo en la parte entera)
10 X X = 8. 888... 0.888... (al efectuar la resta conseguimos un entero)
9X=8
4

X=

8
9

8
9
Esto es, acabamos de expresar el nmero 0.888... como un cociente de dos enteros.

Por lo tanto 0.888... =

Ejercicios 1.2c:
1) Siguiendo la misma idea, en cada inciso expresa el decimal peridico dado como un
cociente de dos enteros
a) 0.777...
b) 0.999...
c) 0.252525...
d) 0.486486486...
e) 3.272727...
f) 0.0424242...
g) 12.21555...
Comentemos las soluciones de los incisos f) y g).
Para expresar 0.0424242... como un cociente de dos enteros el procedimiento es
prcticamente el mismo.
Hagamos X = 0.0424242... ahora debemos multiplicar a X por 1000 para conseguir tener
el perodo en la parte entera
1000 X = 42.424242...
10 X = 0.424242...
en este caso ser necesario restar 10 X para quitar la parte
fraccionaria
1000 X 10 X = 42
990 X = 42
42
7
7
21
X=
=
=
por lo que 0.0424242...=
990
165
495 165
En el caso de 12.21555..., podemos expresar el nmero como la suma de dos decimales
peridicos, uno con perodo cero y el otro con perodo cinco
12.21555... = 12.21 + 0.00555...
1221
5
+
=
100 900
10989 + 5
=
900
10994
5497
=
=
900
450
Hemos trabajado con dos clasificaciones de los nmeros reales:
R = Q I (los reales resultan de la unin de los racionales y los irracionales), donde
Q I = (racionales e irracionales no tienen elementos en comn)
R = decimales peridicos decimales no peridicos, donde
decimales peridicos decimales no peridicos =
5

Tambin hemos comentado la relacin entre estas dos clasificaciones, formalzala


escribiendo en los espacios no peridico o peridico segn corresponda:
Los nmeros racionales son los decimales1 ____________ y que los irracionales son los
decimales2_____________.
Hasta aqu hemos trabajado con la clasificacin de los nmeros reales, el siguiente
acercamiento a ellos lo haremos desde una perspectiva geomtrica con la idea de mostrar
con ms claridad lo que comentamos brevemente en la introduccin, el por qu de llamar
posicional al familiar sistema decimal.

1.3 Sistema decimal - sistema binario


Empecemos por construir los nmeros enteros en el sistema decimal
0
1

9
-aqu se agotan los dgitos disponibles
10 -para poder continuar se recurre a otra posicin. En esta nueva posicin se comienza
11
con el 1 y conservando en la nueva posicin al 1, se usan en la posicin de la

derecha todos los dgitos


19
20 -cuando de nuevo se agotan los dgitos en la posicin de la derecha, se contina, en
21
la posicin de la izquierda, con el sucesor de 1, se usan, de nuevo, en la posicin de

la derecha todos los dgitos


29

-se contina de la misma manera, hasta agotar los dgitos


99 -aqu se agotan los dgitos disponibles en estas dos posiciones, ser necesario
100 recurrir a una nueva posicin a la izquierda, iniciando de nuevo en esta posicin
101 con el dgito 1.

-se continua en la misma forma con la idea de agotar los dgitos de derecha a
109 izquierda
110

120

999
1000

Los enteros negativos, se construyen en la misma forma, pero les antecede el signo . Con
este desarrollo se ve claro que nunca se agotarn las posiciones posibles, de manera que se
podrn construir nmeros tan grandes como se quiera. Como se dispone de diez dgitos, la
necesidad de una segunda posicin se presenta cuando estos diez dgitos se agotan, esto es,
1
2

Peridicos
No peridicos

se requiere la nueva posicin para construir el nmero 10, es el momento en el que pasamos
de las unidades a las decenas; esta es la razn por la que a esta segunda posicin se le llama
posicin de las decenas. La necesidad de una tercera posicin, la de las centenas, se
presenta despus de 100 nmeros, para construir el nmero 100, de una cuarta, la de las
unidades de millar, despus de los 1000 y as sucesivamente. Por esta razn, cuando se
tenga el mismo dgito en dos posiciones contiguas el valor del dgito de la izquierda es diez
veces el valor del dgito de la derecha. Con esto se justifica el uso de la notacin
expandida con la que expresamos el nmero como una suma de potencias de 10. Por
ejemplo, el nmero 2589 se expresa, en notacin expandida, de la siguiente manera:
2589 = 2x103 + 5x102 + 8x101 + 9x100
Esta notacin justifica el hecho de que el 2 sea llamado el dgito ms significativo del
nmero 2589 ya que, debido a su ponderacin es el que representa ms unidades. De esta
manera tambin se dice que el 5 es ms significativo que el 8 y que el 9 y el 8 ms que el 9
en el 2589.
Se acostumbra representar estos nmeros en la recta numrica de la siguiente forma
5

Figura 1
En un nmero entero, la expansin decimal consta slo de ceros (aunque en el inciso b del
ejercicio anterior viste que 0.999999... es igual a 1.00000..., lo ms comn y conveniente es
trabajar con la representacin 1.00000..., ms an, escribiendo solamente 1); un nmero no
entero debe contener en su expansin decimal por lo menos un dgito distinto de cero. En la
expansin decimal los dgitos tienen tambin un valor relativo a su posicin. De la misma
manera que en la parte entera, cuando se tenga el mismo dgito en dos posiciones contiguas
el valor del dgito de la izquierda es diez veces el valor del dgito de la derecha. Debe
tenerse presente que los dgitos a la derecha del punto decimal estn representando el
nmero de partes que se toman al subdividir al entero en mltiplos de 10. La primera
posicin representa cuntas partes se estn tomando de las 10 en que se dividi al entero,
por eso se le llama a sta la posicin de los dcimos (1/10); la segunda posicin representa
las partes que se toman de las 10 en que se subdivide una de las partes de la divisin
anterior, es decir, cuntas de las cien partes en que se dividi al entero por eso se le llama a
sta la posicin de los centsimos (1/100), el mismo anlisis se sigue para las dems
posiciones.
1
1
= 10 1,
= 10 2, etc., el nmero 0.3256 se expresa en
10
100
notacin expandida como 0.3256 = 3x101 + 2x102 + 5x103 + 6x104. De manera que,
considerando los dos ejemplos anteriores, el nmero 9387.3256 queda expresado en
notacin expandida de la siguiente manera
9387.3256 = 9x103 + 3x102 + 8x101 + 7x100 + 3x101 + 2x102 + 5x103 + 6x104
La representacin geomtrica de un nmero no entero est basada en las ideas abordadas en
los prrafos anteriores. Ilustremos, con el nmero 3.627, cmo se hace dicha

As teniendo presente que

representacin. Comenzamos reconociendo que este nmero se encuentra entre el 3 y el 4.


Para localizar la parte fraccionaria debemos dividir el intervalo [3,4] en 10 partes iguales;
tomando 6 de estas partes, localizamos el 3.6. Dividimos ahora el intervalo [3.6, 3.7]
tambin en 10 partes iguales; tomando 2 de estas partes, localizamos el 3.62. Por ltimo,
dividimos el intervalo [3.62, 3.63] y tomando 7 de estas partes localizamos el nmero
buscado: 3.627. Este proceso puede visualizarse como se muestra en la figura 2.
3

4
3.6

4
3.62
3.6

3.7
3.627

3.62

3.63

Figura 2

1.4 Sistema numrico binario


Construyamos ahora los nmeros enteros en el sistema binario aprovechando la reflexin
que hicimos con el sistema decimal y teniendo presente que ahora slo contamos con dos
dgitos el 0 y el 1.
Decimal-Binario

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

-aqu se agotan los dgitos disponibles


-recurrimos a otra posicin comenzando con el 1. Conservando en la nueva
posicin al 1, usamos en la posicin de la derecha los dgitos disponibles.
- Se hace necesario recurrir a una nueva posicin a la izquierda.
-Continuamos de la misma manera hasta agotar los dgitos barriendo las
posiciones de derecha a izquierda

Observa que cuando se recurre a una nueva posicin para representar un nmero X, los
dgitos de la derecha que acompaan al 1 de la nueva posicin son slo ceros. Para generar
a los sucesores de X basta con continuar escribiendo los nmeros que ya se tenan antes de
X, pero antecedidos por el 1 de la nueva posicin. El proceso, que acabamos de seguir para
8

construir los nmeros enteros en el sistema binario, es el mismo que seguimos para
construirlos en el sistema decimal y sera tambin el mismo para cualquier otro sistema
posicional.
Escribe, en el sistema octal, los primeros 50 enteros empezando por el cero. Asocia a cada
nmero el correspondiente en el sistema decimal.
Al representar los nmeros reales en el sistema binario, la recta numrica se ve de la
siguiente manera:
101 100 11 10 1

Figura 3

10
2

11

100 101 110


4

Si quisiramos representar en ella nmeros binarios que no sean enteros, debemos tener
presente que ahora partiremos el entero en dos partes cada vez, en lugar de diez como lo
hicimos para el sistema decimal. Veamos esto representando el nmero 101.1101.
Comenzamos observando que este nmero se encuentra entre el 101 y el 110, ahora
dividimos el intervalo [101, 110] en dos partes iguales; tomando una de estas dos partes
localizamos el nmero 101.1. Dividimos ahora el intervalo [101.1, 110] en dos partes
iguales; tomando una de esas partes localizamos el 101.11. Consideramos el intervalo
[101.11, 110] y lo dividimos en dos partes iguales, de stas no tomamos ninguna parte
(porque el siguiente dgito en la parte fraccionaria es cero). Finalmente dividimos el
intervalo [101.110, 101.111] en dos partes iguales, tomamos una parte y con esto,
localizamos el nmero 101.1101. Este proceso se ilustra en la figura 4.
101

101

110

101.1

101.1

101.11

101.110

110

101.11

101.111

101.1101

110

110

101.1110

Figura 4

1.5 Conversin binario a decimal


La forma en que puede convertirse un nmero de un sistema a otro puede apreciarse ms
claramente si vemos la relacin entre ambos sistemas desde el punto de vista geomtrico.
Particularicemos esto convirtiendo el nmero 101.11 del sistema binario al sistema
decimal. Enumerando los primeros enteros binarios, nos damos cuenta que 1012 = 5 (para
que la igualdad sea correcta, es necesario colocar 2 como subndice del nmero binario; en
general cuando el contexto no aclara en qu sistema est expresado un nmero, se coloca la
base del sistema como subndice del nmero). Para determinar el valor, en el sistema
decimal, que corresponde a la parte fraccionaria del nmero en binario mostraremos en la
figura 5 la relacin entre las particiones del intervalo donde se encuentra el nmero, hechas
en el sistema binario y en el decimal.
binario

101

101.1

110

5.5

101.12 = 5 + 0.5 = 5.5

decimal

binario

101

101.1 101.11

110
101.112 = 5.5 + 0.25 = 5.75

decimal

Figura 5

5.5

5.7

5.75

5.8

Por lo tanto 101.112 = 5 + 0.5 + 0.25 = 5.75

Ejercicios 1.5a:
1) Apoyndote en la recta numrica da el nmero en base 10 equivalente al nmero dado
a) 0.12
b) 0.012
c) 0.0012
d) 0.112
e) 1001.1112
f) 101.1012
El mismo procedimiento que usamos para representar los nmeros reales en el sistema
decimal nos fue til para representarlos en el sistema binario, salvo que en este ltimo caso
usamos potencias de 2 para asignar a un dgito el valor correcto de acuerdo con la posicin
que ocupa. Entonces la notacin expandida en el sistema binario se expresa como una suma
de potencias de 2, por ejemplo el nmero 110001.1101 2 se representa como
1x25 + 1x24 + 0x23 + 0x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4.

10

Esta notacin expandida es importante porque el valor que resulta de esta suma es el
equivalente decimal del nmero binario, esto es
110001.1101 2 = 1x25 + 1x24 + 0x23 + 0x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4
= 32 + 16 + 0 + 0 + 0 + 1 + 0.5 + 0.25 + 0 + 0.0625
= 49.8125
Observa que un cero es importante para posicionar al siguiente dgito, pero no contribuye a
la suma total.
El anterior es un mtodo para escribir un nmero binario en su forma decimal, que puede
simplificarse colocando sobre cada dgito del nmero la ponderacin que le corresponde, de
esta manera el equivalente decimal se obtiene sumando solamente las ponderaciones
colocadas sobre dgitos uno. En la figura 6 se muestra cmo hacer esto.
16
24
1

8
23
0

4
22
0

2
21
0

1
20
1

.5
2-1
1

.25
2-2
1

.125
2-3
0

32
25
1

.0625
2-4
1

Figura 6
La segunda fila puede ser omitida, aqu se escribi solamente para hacer el enlace con la
notacin expandida.
Ejercicios 1.5b:
1) Escribe el nmero dado en su forma decimal
a) 11001.100012
b) 1000110.0001012
c) 111110.10012
d) 10000.010012

1.6 Conversin decimal a binario


Tambin es importante contar con un mtodo para efectuar el proceso inverso al que
acabamos de ver, esto es, determinar el equivalente binario de un nmero decimal.
Mostraremos el mtodo convirtiendo el nmero 13. 8125 a su forma binaria. Para hacer la
conversin es necesario trabajar separadamente la parte entera y la parte fraccionaria. Para
transformar 13 en binario recordemos que cuando convertamos un entero binario en
decimal la ponderacin para cada dgito se consegua haciendo multiplicaciones sucesivas
por 2, ahora tendremos que hacer divisiones sucesivas entre 2, en las que el cociente de
una es el dividendo de la siguiente, la ltima divisin ser la que tenga cociente cero. El
equivalente binario del nmero se obtiene enlistando los residuos del ltimo al primero.
6
2

13
1

3
2

6
0

3
1

0
2

1
1
11

As 13 = 11012 esta igualdad se justifica con el algoritmo de la divisin3 y la notacin


expandida como sigue:
13 = 6 x 2 +1
= (3 x 2 + 0) x 2 +1
= 3 x 22 + 0 x 2 + 1
= (1 x 2 +1) x 22 + 0 x 2 + 1
= 1 x 23 + 1 x 22 + 0 x 2 + 1
= 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20
= 11012
Se acostumbra abreviar las divisiones sucesivas poniendo los cocientes debajo del nmero
y a la derecha de cada cociente el respectivo residuo
residuos
13
6
3
1
0

1
0
1
1

La flecha indica el orden en que son


tomados los residuos para formar el
equivalente binario

Trabajemos ahora en la conversin de la parte fraccionaria. Para transformar 0.8125 en


binario recordemos que cuando convertamos una fraccin binaria en decimal la
ponderacin para cada dgito se consegua haciendo divisiones sucesivas por 2 (ya que la
notacin expandida de la parte fraccionaria se expresa en potencias negativas de 2). Ahora
tendremos que hacer multiplicaciones sucesivas por 2. El multiplicando de la primera
multiplicacin es la parte fraccionaria del nmero a convertir y el multiplicando de cada
una de las siguientes es el producto de la anterior, el clculo termina cuando la parte
fraccionaria del producto es cero (esto, si la parte fraccionaria del equivalente binario es
finita; si no es as, el clculo se prolonga tanto como dgitos se deseen). El equivalente
binario del nmero se obtiene enlistando la parte entera, del primero al ltimo, de los
productos.
parte entera
0.8125 x 2 = 1.625
1
La flecha indica el orden en que son tomadas
0.625 x 2 = 1.25
1
las partes enteras de los productos para
0.25 x 2 = 0.5
0
formar el equivalente binario
0.5
x 2 = 1.0
1

As 0.8125 = 0.11012 esta igualdad se justifica con el proceso conocido como prueba de la
multiplicacin4 y la notacin expandida de la siguiente forma:
3

_cociente__
divisor dividendo

El dividendo es igual al cociente por el divisor


ms el residuo, donde 0 residuo 0

multiplicando
x multiplicador_
Producto

El multiplicando es igual a producto entre el


multiplicador

12

0.8125 = 1.625 x

1
2

= (1 + 0.625) x
=1x
=1x
=1x
=1x
=1x
=1x
=1x

1
2
1
2
1
2
1
2
1
2
1
2
1
2

1
2

+ 0.625 x

1
2

1
1
]x
2
2
1
1
+ 1 x 2 + 0.25 x 2
2
2
1
1
1
+ 1 x 2 + [(0 + 0.5) x ] x 2
2
2
2
1
1
1
+ 1 x 2 + 0 x 3 + 0.5 x 3
2
2
2
1
1
1
1
+ 1 x 2 + 0 x 3 + (1 x ) x 3
2
2
2
2
1
1
1
+1x 2 +0x 3 +1x 4
2
2
2

+ [(1 + 0.25) x

0.625 = (1 + 0.25) x

0.25 = (0 + 0.5) x

0.5 = 1 x

1
2

1
2

1
2

= 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4


= 0.11012
Reuniendo los resultados de las dos conversiones anteriores, tenemos que
13.8125 = 13 + 0.8125
= 11012 + 0.11012
= 1101.11012
Para ahondar un poco ms en el mtodo de conversin, busquemos el equivalente binario
de 34.6
residuos
34
17
8
4
2
1
0

0
1
0
0
0
1

0.6 x 2 = 1.2
0.2 x 2 = 0.4
0.4 x 2 = 0.8
0.8 x 2 = 1.6
0.6 x 2 = 1.2

parte entera
1
0
0
1
1

Observa que, en este caso, el ltimo de los


productos, es igual al primero, por lo que los
siguientes se repetirn de manera peridica,
esto significa que el nmero binario es un
nmero peridico con perodo distinto de cero.

1
0
0
1
1

.6
.2
.4
.8
.6
.2

El proceso anterior
puede abreviarse
de esta manera

13

34.6 = 100010.100110011001...2
Ejercicios 1.6:
1) Escribe el nmero dado en su forma binaria
a) 148.15625
b) 10.3
c) 83.546875
d) 0.43
e) 5.283203125

1.7 Adicin binaria


Continuando con la estrategia de trabajar primero en el sistema decimal, sumemos 753 a
389 para retomar de forma consciente el algoritmo de la suma
Como primer paso para efectuar una suma se colocan los sumandos de tal forma que
queden alineadas unidades con unidades, decenas con decenas, etc. y empezamos contando
cuntas unidades hay en total.
1

389
+ 753
2

en este caso hay 12 unidades en total, como disponemos de un


lugar para las unidades colocamos slo el 2 para que nos sobren 10
unidades, que equivalen a una decena, misma que podemos contar
con las decenas

11

389
+ 753
42
11 1

389
+ 753

el total de las decenas es 14, en el lugar de las decenas dejamos 4


para que nos sobren 10, que equivalen a una centena, misma que
contaremos con las centenas

por ltimo, como en total son 11 centenas, dejamos una en ese lugar y
las 10 restantes las colocamos como una unidad de millar, ya que 10
centenas equivalen a una unidad de millar.

1142
Extrapolemos este algoritmo al sistema binario, pero antes observemos que en una suma
binaria solamente se suma, un cero o un uno en cada paso; cuando sumamos un cero no se
altera la cantidad y cuando sumamos un uno el resultado es el siguiente nmero entero por
lo que es necesario saber enumerar los nmeros binarios con fluidez, es decir, dado un
nmero binario saber cul es el que le sigue (ver pgina 7). Ilustraremos la extrapolacin
del algoritmo de la suma del sistema decimal al binario sumando 1112, 1012, 10112 y 1102.
Como primer paso, alineemos los sumandos y contemos cuntas unidades hay en total.

14

en este caso hay 112 unidades en total, como disponemos de un lugar


para las unidades colocamos slo el primer 1 y nos sobran 102=2
unidades que equivalen a 1 unidad de la posicin de la izquierda, de
manera que esta unidad las sumamos con las otras que se encuentran
en esa posicin.

111
+ 101
1011
110
1

10 1

en esta segunda posicin, de derecha a izquierda, hay 1002 unidades


en total, colocamos el primer 0 en esta posicin y las 1002 unidades
restantes las sumamos como diez unidades en la siguiente posicin, ya
que 1002 de la una posicin equivalen a 102 unidades de la siguiente
posicin a la izquierda.

111
+ 101
1011
110
01

10 10 1

111
+ 101
1011
110

en esta tercera posicin, hay 1012 unidades, colocamos el 1 en esta


posicin y las 1002 unidades restantes las sumamos como 102 en la
siguiente posicin a la izquierda.

101

10 10 1

111
+ 101
1011
110

finalmente, el total de unidades en la cuarta posicin es 112, dejamos


el primer 1 en esta posicin y las 102 unidades que sobran las
colocamos como una unidad de la siguiente posicin a la izquierda.

11101
El algoritmo de la suma est basado en que un dgito en una posicin es b veces ms grande
que el mismo dgito colocado en la posicin contigua a la derecha. Recuerda que hemos
llamado b a la base del sistema, es decir, al nmero de dgitos disponibles. Esto se cumple
en la parte entera y en la parte fraccionaria de un nmero por lo que no hay cambio en el
algoritmo de la suma si los nmeros no son enteros, slo es necesario cuidar que los puntos
de todos los sumandos queden alineados, de esta forma coinciden cada una de las
ponderaciones de todos los dgitos de los nmeros por sumar.
Por ejemplo,
10 10 10 1 1

110.01
+ 11.1
101.11
111.011
10110.111
15

Ejercicios 1.7:
1) Realiza las siguientes sumas binarias
a) 110.011 + 1100.1101
b) 11011 + 1111 + 10011 + 11001 + 1100
c) 11.001 + 101.011 +111011.11001
d) 110111 + 1011.01 +1.0011
e) 0.11011 + 0.0011 + 0.11101

1.8 Multiplicacin binaria


Reflexionemos primero sobre la forma en que multiplicamos en el sistema decimal. Cuando
multiplicamos un nmero por un mltiplo de 10, lo que hacemos es cambiar la ponderacin
de cada uno de los dgitos del nmero, por ejemplo:
345 x 100 = (3 x 102 + 4 x 101 + 5 x 100) x 102
= 3 x 104 + 4 x 103 + 5 x 102
= 3 x 104 + 4 x 103 + 5 x 102 + 0 x 101 + 0 x 100
= 34500
Esto es, para multiplicar 345 x 100 basta agregar a 345 dos ceros a la derecha. En general,
para multiplicar un nmero por un mltiplo de 10, basta agregar al nmero tantos ceros a la
derecha como dgitos tenga el multiplicador.
Para analizar el algoritmo de la multiplicacin, multipliquemos 6342 por 285.
6323 x 285 = 6343 (200 + 80 + 5)
= 6343 x 200 + 6343 x 80 + 6343 x 5
El producto 6343 x 200 se consigue multiplicando 6343 x 2 y el resultado por 100, esto es,
tendremos que agregar dos ceros al resultado de 6343 x 2. De la misma forma, 6343 x 80 se
consigue agregando un cero al resultado de 6343 x 8. As, tenemos que:
6343
5

31715

6343
80

6343
x 200

507440

1268600

Analicemos paso a paso cmo efectuamos la primera multiplicacin:

6343
x
5
5

En este primer paso se multiplican 5 unidades del


multiplicador por 3 unidades del multiplicando, dando por
resultado 15 unidades; dejamos 5 en el lugar de las unidades
y las 10 unidades restantes las sumamos, como una decena
con lo que resulte de la siguiente multiplicacin.

16

2 1

6343
x
5
15

1 2 1

6343
x
5
715

1 2 1

6343
x
5
31715

se multiplican 5 unidades del multiplicador por 4 decenas


del multiplicando, dando por resultado 20 decenas, ms la
que llevbamos, dan un total de 21 decenas; dejamos una en
la posicin de las decenas y las 20 restantes las sumamos,
como 2 centenas con lo que resulte de la siguiente
multiplicacin.

se multiplican 5 unidades del multiplicador por 3 centenas


del multiplicando, dando por resultado 15 centenas, ms las
2 que llevbamos, dan un total de 17 centenas; dejamos 7 en
la posicin de las centenas y las 10 restantes las sumamos,
como una unidad de millar con lo que resulte de la siguiente
multiplicacin.

por ltimo, se multiplican 5 unidades del multiplicador por


6 unidades de millar del multiplicando, dando por resultado
30 unidades de millar, ms la que llevbamos, dan un total
de 31; dejamos una en la posicin de las unidades de millar
y las 30 restantes las colocamos como 3 decenas de millar.

El resultado de 6343 x 285 es la suma de 31715, 507440 y 1268600 quedando de la


siguiente manera
6343
x 285
31715
+ 507440
1268600
1807755
Resumiendo, el primer sumando result de multiplicar 6343 (multiplicando) por 5
(unidades del multiplicador); el segundo result de multiplicar 6343 por 8, pero como en
este caso el 8 representa las decenas del multiplicador, fue necesario multiplicar por 10 este
resultado, o bien, escribirlo recorrido una posicin a la izquierda con respecto al sumando
anterior; finalmente, el ltimo sumando result de multiplicar 6343 por 2 y recorrer el
resultado dos posiciones a la izquierda.
Ahora reflexionemos en lo que hacemos cuando multiplicamos nmeros no enteros. Por
ejemplo, si en lugar de multiplicar 6343 x 285 hubiramos multiplicado 634.3 x 2.85
habramos hecho la multiplicacin exactamente igual (como si estuviramos trabajando con
nmeros enteros), pero en este caso el primer dgito del primer sumando sera el resultado
de multiplicar 3 dcimas del multiplicando por 5 centsimas del multiplicador,
17

3
5
15
x

, por lo que el primer dgito del resultado, el 5, debe ocupar el lugar de las
10 100 1000
milsimas y el 1 se coloca para ser sumado con las centsimas. Esta multiplicacin es la
que define la ubicacin del punto decimal en el resultado ya que este primer dgito que se
est calculando es precisamente el primer dgito del resultado de la multiplicacin, el de la
extrema derecha. As, en el resultado final del producto deberemos colocar el punto
decimal justo donde se consiga que el dgito de la extrema derecha tenga ponderacin de
milsimas.

Generalizando: al efectuar una multiplicacin, hacemos tantas multiplicaciones de un dgito


como dgitos tenga el multiplicador y luego sumamos los resultados de estas
multiplicaciones. La primera multiplicacin se har entre el multiplicando y el dgito de
menor ponderacin (el de extrema derecha) del multiplicador y el resultado se escribe como
primer sumando. La segunda multiplicacin se har entre el multiplicando y el dgito que
sigue en ponderacin (el segundo de derecha a izquierda) del multiplicador y el resultado se
escribe como segundo sumando recorrindolo una posicin a la izquierda respecto al
sumando anterior. Se contina en esta forma hasta terminar.
Este algoritmo se ejecuta tal cual en cualquier otro sistema posicional. Sigmoslo en el
sistema binario haciendo la multiplicacin 11011 por 1010. De acuerdo con el algoritmo,
esta multiplicacin se efecta haciendo las multiplicaciones 11011 x 0, 11011 x 1, 11011 x
0 y 11011 x 1 y sumando los resultados teniendo cuidado de colocar cada nuevo sumando
recorrido una posicin a la izquierda respecto al anterior. Cada una de estas
multiplicaciones es realmente sencilla porque, o se multiplica por cero, o por uno; en el
primer caso el resultado son slo ceros y al multiplicar un nmero por uno el resultado es el
mismo nmero, as que tendremos:
11011
x 1010
00000
+ 11011
00000
11011

resultado de 11011 x 0

11011 x 1

11011 x 0

11011 x 1

100001110

suma de los productos parciales

La primera lnea de ceros puede omitirse agregando un cero a la derecha al resultado de la


suma de los productos parciales; la tercera tambin puede omitirse, teniendo cuidado de
recorrer el siguiente producto dos posiciones a la izquierda. Recuerda que sta es la manera
en que lo hacemos en el sistema decimal. De esta forma el producto queda:
11011
x 1010
11011
+ 11011
100001110
18

El producto 1011.1101 x 100.01 se hace como si ambos nmeros fueran enteros, pero se
coloca al resultado un punto binario despus del sexto dgito (4 por la posicin del punto en
el multiplicando ms 2 por la posicin del punto en el multiplicador), contando de derecha
a izquierda. As, 1011.1101 x 100.01 queda:
1011.1101
x
100.01
10111101
+ 10111101
110010.001101
Ejercicios 1.8:
1) Realiza las siguientes multiplicaciones binarias
a) 10101011 x 1100
b) 100111 x 10101
c) 1011.1101 x 10001
d) 11100.001 x 1001.1
e) 0.11011 x 101

1.9 Sustraccin binaria


De nuevo empezaremos analizando el algoritmo de la resta en el sistema decimal, para esto
restemos 26741 de 30525. Empezamos colocando el minuendo y el sustraendo de manera
que sus unidades queden alineadas
4 12

305/2/5 minuendo
26741 sustraendo
84

14

2 9 4/ 12

3/0/5/2/5
26741

03784

5 unidades del minuendo menos una del sustraendo dan 4


unidades como resultado. Al continuar el proceso en la
posicin de las decenas, vemos que no podemos restarle 4 a 2,
por lo que tenemos que tomar una de las 5 centenas
(equivalente a 10 decenas) y sumarla con las 2 decenas que ya
se tienen. De esta forma, podemos continuar restando y
obtenemos 8 decenas como resultado.
Al continuar la resta en la posicin de las centenas, vemos que
no podemos restar 7 de 5, como no tenemos unidades de
millar, tomamos una decena de millar quedndonos 2. Esta
decena de millar es equivalente a 10 unidades de millar,
dejamos 9 en las unidades de millar y la otra la sumamos a las
4 centenas que tenamos, quedando un total de 14. Con esto
podemos concluir la resta.

Por la forma en que se procede en el algoritmo, se requiere que el minuendo sea mayor que
el sustraendo, pues de no ser as, el dgito ms significativo del sustraendo sera mayor que
19

el correspondiente del minuendo y no habra de dnde conseguir ms unidades para


completar la operacin. As, cuando hagamos una resta en la que el minuendo sea menor
que el sustraendo, por ejemplo 325 846, debemos antes de efectuar la resta intercambiar
minuendo y sustraendo y despus tomar el negativo del resultado.
846
325

entonces 325 846 = 521

521
Al igual que en la suma, la resta de nmeros no enteros se hace como si fueran enteros, slo
es necesario alinear los puntos decimales del minuendo y el sustraendo y colocar el punto
en el resultado alineado con stos.
Habrs observado que los algoritmos que hemos analizado estn basados en la posicin de
los dgitos, lo que les da su valor relativo. Por esta razn los algoritmos son idnticos en
cualquier sistema, slo es importante tener presente que el valor relativo de los dgitos
depende del valor de la base. Usemos el algoritmo que acabamos de ver para restar en el
sistema binario 111101 de 1010111
1010111
111101
010

0 10

10 1/0/111
111101
1010

10

0 1 0/ 10

1/0/1/0/111
111101

0011010

Despus de alinear cada posicin del minuendo con la


correspondiente en el sustraendo, empezamos a restar posicin
por posicin partiendo de que 11 = 0 y 10 = 1.

Al llegar a la cuarta posicin se nos presenta la necesidad de


restar uno de cero; como esto no es posible, tomamos una
unidad de la quinta posicin, para pasarla como 10 unidades a
la cuarta posicin. Con esto, podemos continuar la resta
quedndonos 1 en esta cuarta posicin ya que 101 = 1.
En la quinta posicin volvemos a tener otra resta 01, como no
podemos tomar unidades de la sexta posicin, tomamos una de
la sptima; en la sexta posicin esta unidad es 10 unidades;
dejamos una en esta posicin y colocamos la otra (recuerda
que 1+1 = 10) en la quinta como 10 unidades. Este reacomodo
de unidades nos permite terminar la resta.

Ejercicios 1.9:
1) Efecta las siguientes restas binarias
a) 111011 10101
b) 1100.11 1011.1
20

c) 1100.1101 110.011
d) 101000 11101
e) 100101 1110001

1.10 Divisin binaria


Se mencion el algoritmo de la divisin en el pie de la pgina 10, retommoslo para
analizarlo con ms detalle al efectuar la divisin de 3943 entre 21.
cociente
divisor dividendo
residuo

el dividendo es igual al cociente


por el divisor ms el residuo,
donde 0 residuo divisor

Hacer la divisin propuesta consiste en encontrar un nmero que multiplicado por 21 nos
acerque lo ms posible a 3943; con slo lpiz y papel en mano esta tarea no es sencilla, por
lo que la bsqueda del cociente y el residuo se hace por etapas de la siguiente manera:
1
21 3943
21
18

En esta primera etapa dividimos entre 21 las 39 centenas del


dividendo (formadas con las 3 unidades de millar y las 9
centenas), obteniendo una centena para el cociente y 18
centenas como residuo.

18
21 3943
21
184
168

A las 180 decenas (18 centenas) que quedaron agregamos


las 4 decenas del dividendo y dividimos el total entre 21,
obteniendo 8 decenas para el cociente y 16 decenas como
residuo.

16
187
21 3943
21
184
168

A las 160 unidades (16 decenas) restantes de la etapa


anterior agregamos las 3 unidades del dividendo y
dividimos el total entre 21, obteniendo 7 unidades para el
cociente y 16 unidades como residuo.

163
147
16

21

Si el divisor no es entero, este algoritmo no funciona ya que en todas las etapas se considera
al divisor slo en trminos de unidades; por ejemplo en este caso no se trabaj con el
divisor como formado por 2 decenas y una unidad, sino como 21 unidades. Si nuestra
divisin hubiera sido 39.43 entre 2.1 no tendramos manera de expresar 2.1 slo en
39.43 39.43 10 394 .3
=
x =
trminos de unidades. Este problema se resuelve as:
y la
2.1
2.1 10
21
divisin puede resolverse aplicando el algoritmo tal como lo hicimos en el ejemplo anterior,
pero colocando un punto decimal en el cociente alineado con el del dividendo,
consiguiendo como resultado 18.7.
En general, cuando el divisor no es entero, se recorre su punto decimal las posiciones que
sea necesario para tener como divisor un entero, este mismo nmero de posiciones se debe
recorrer el punto en el dividendo para que la divisin que se efecte sea equivalente a la
original.
Dividamos ahora, en el sistema binario, 100111111 entre 1101
1
1101 100111111
1
1101

En esta primera etapa dividimos 10011 entre 1101.

00110
11
1101 100111111
1
1101

Agregando a 110 el dgito 1 de la siguiente


posicin del dividendo, dividimos en esta etapa
1101 entre 1101.

001101
1101
0000
11000
1101 100111111
1
1101
001101
1101
0000111

Como el residuo en la etapa anterior fue cero, al


agregar el 1 de la siguiente posicin a este residuo, se
obtuvo un nmero menor que el divisor, por lo que el
dgito correspondiente en el cociente fue cero; esta
situacin se repiti para las siguientes dos posiciones,
con lo cual se termin la divisin. Se omitieron las
restas correspondientes a cada una de las tres ltimas
etapas, ya que cero por el divisor da cero y al restar
cero al residuo de esa etapa, el resultado es el residuo
mismo.

22

Para finalizar este tema hagamos la divisin de 110.10101 entre 1.001


101.11

1.001. 110.101.01
1001
010001
1001
10000
1001
01111
1001
0110

Ejercicios 1.10:
1) Realiza las siguientes divisiones binarias
a) 1001101 11
b) 1011100.1 0.011
c) 1110110 1.01
d) 11011. 0111 110

1.11 Sistema hexadecimal


Despus del sistema binario, el sistema hexadecimal es el ms relevante en el campo de la
computacin, sta es la razn por la que lo analizaremos. Se llama sistema hexadecimal al
sistema posicional con base 16; por lo que para representar una cantidad en l se requiere
disponer de 16 dgitos. Los 16 smbolos usados para representar dichos dgitos son: los 10
del sistema decimal y las 6 primeras letras del alfabeto escritas en maysculas (0, 1, 2, 3, 4,
5, 6, 7, 8, 9, A, B, C, D, E, F). Comenzaremos por analizar la forma de hacer conversiones
entre los dos sistemas que ya vimos y ste, pero antes para que te familiarices con este
sistema haz los siguientes ejercicios:
Ejercicios 1.11:
1) Escribe 5 nmeros enteros y 5 no enteros en el sistema hexadecimal
2) Escribe en el sistema hexadecimal los primeros cien enteros
3) Escribe el sucesor de cada uno de los siguientes nmeros
a) 99F
b) AFF
c) 4DF9
d) FFFF

23

1.12 Conversin hexadecimal decimal


El procedimiento a seguir para convertir un nmero del sistema hexadecimal al decimal es
el que ya analizamos en la pgina 10, considerando ahora que las ponderaciones de cada
una de las posiciones est dada por potencias de 16 y que los valores correspondientes en el
sistema decimal de los ltimos dgitos hexadecimales son:
Hexadecimal
decimal
A
10
B
11
C
12
D
13
E
14
F
15
As, los clculos necesarios para encontrar el decimal correspondiente de 99F.3A516 son:
99F.3A516 = 9x162 + 9x161 + Fx160 + 3x161 + Ax162 + 5x163
= 9x162 + 9x161 + 15x160 + 3x161 + 10x162 + 5x163
= 22304 + 144 + 15 + 0.1875 + 0.039062 + 0.0012205
= 2463.2277825
Al hacer los clculos fue necesario usar la tabla anterior para sustituir los dgitos
hexadecimales por su equivalente decimal (F por 15 y A por 10)
.
Ejercicios 1.12:
1) Determina los decimales correspondientes a cada uno de los hexadecimales del
problema 3 del ejercicio anterior as como el de los que propusiste como sucesores.
2) Calcula el equivalente decimal de los siguientes nmeros
a) 300DB.A0E16
b) AB0C.DEF16
c) 1100.00116

1.13 Conversin decimal hexadecimal


Recuerda que al convertir un nmero de decimal a binario hacamos divisiones entre dos
para la parte entera y multiplicaciones por dos para la parte fraccionaria, en este caso, el
algoritmo es el mismo slo que al ser 16 la base del sistema las divisiones y
multiplicaciones son por 16. Convirtamos 1543.27 a su equivalente hexadecimal.
Trabajemos primero con la parte entera
96

16 1543
103
7

16 96
0

16 6
6

O bien:
1543
96 7
6 0
0 6

1543 = 60716
24

La parte fraccionaria queda:


0.27
x 16

0.32
x 16

0.12
x 16

0.92
x 16

0.72
x 16

0.52
x 16

4.32

5.12

1.92

14.72

11.52

8.32

Clculo abreviado:
.27
4
.32
5
.12
1
.92
14
.72
11
.52
8
.32

As: 0.27 = 451EB851EB851EB8...16


Generalmente, cuando la expansin decimal es
infinita, sea peridica o no, se trabaja solamente con
una aproximacin del nmero.

Reuniendo los dos resultados anteriores tenemos que:


1543.27 = 607. 451EB851EB851EB8...16
Ejercicios 1.13:
1) Escribe en el sistema hexadecimal los siguientes nmeros:
a) 65536
b) 23.814941
c) 2.15
d) 768.62

1.14 Interconversin hexadecimal - binaria


Para hacer conversiones de binario a hexadecimal y de hexadecimal a binario es necesario
observar que existe una nica representacin binaria de cuatro bits (dgitos binarios) para
cada dgito hexadecimal ya que, con 4 dgitos binarios slo pueden representarse 16 enteros
(ver pag. 8), del cero al quince en el sistema decimal o del cero a F en el hexadecimal. La
representacin binaria de cuatro bits para cada uno de los 16 dgitos hexadecimales se
muestra en la siguiente tabla:
hexadecimal
0
1
2
3
4
5
6
7

binario
0000
0001
0010
0011
0100
0101
0110
0111

hexadecimal
8
9
A
B
C
D
E
F

binario
1000
1001
1010
1011
1100
1101
1110
1111
25

La conversin de un hexadecimal a su forma binaria consiste en reemplazar cada dgito


hexadecimal por su equivalente binario respetando su posicin. Representemos A3B.D16 en
binario
A3B.D
1010 0011 1011 . 1101
Por lo que A3B.D16 = 101000111011.11012
Analicemos detenidamente esta conversin para tener una idea ms clara de por qu el
algoritmo est dado de esta manera. Para hacerlo, marquemos la ponderacin de cada
dgito; en hexadecimal en la parte superior y en binario en la parte inferior.
A
162

.B

3
161

16

11

10

D
161

Verifiquemos que el valor relativo, en el sistema decimal, de cada dgito hexadecimal


corresponde al valor relativo del grupo de los cuatro dgitos binarios por el que fue
cambiado
A x 162 = 2560
211 + 29 = 2560

3 x 161 = 48
25 + 24 = 48

B x 160 = 11
23 + 21 + 20 = 11

D x 161 = 0.8125
21 + 22 + 24 = 0.8125

As
A3B.D16 = 2560 + 48 +11 + 0.8125 = 2619.8125
101000111011.11012 = 2560 + 48 +11 + 0.8125 = 2619.8125
Esto que acabamos de verificar se cumple para cualquier nmero porque 24 = 16, lo que
implica que cuatro dgitos binarios tengan el mismo valor relativo que el dgito
hexadecimal correspondiente. Esto queda ms claro si pensamos en el mayor dgito
hexadecimal que puede representarse con los cuatro dgitos binarios; analicmoslo para las
dos posiciones hexadecimales contiguas al punto hexadecimal.

F
160
1 1

. 1

1
2

8 + 4 + 2 +1 = 15
= F

F
161
1 1

1
4

1
16

1
8

1 1 1 1
8
4
2
1 15
+ + +
=
+ + +
=
2 4 8 16 16 16 16 16 16
= 15 x 161
= F x 161

26

El proceso inverso, convertir un nmero binario en hexadecimal, consiste en separar los


dgitos en grupos de cuatro partiendo del punto binario hacia la izquierda para la parte
entera y hacia la derecha para la parte fraccionaria (puede ser necesario agregar ceros al
final para que todos los grupos sean de cuatro dgitos) y reemplazar cada grupo por el dgito
hexadecimal correspondiente, respetando el orden.
Busquemos el equivalente hexadecimal de 101000010111101.110112
0101 0000 1011 1101.1101 1000
5 0 B D.D 8

Aparecen en negritas los ceros que fue necesario agregar para completar los grupos de
cuatro dgitos
Ejercicios 1.14:
1) Encuentra el equivalente binario de cada uno de los hexadecimales dados
a) F90E.02
b) 3DAFF
c) BCC.20E
2) Determina el equivalente hexadecimal de cada binario dado
a) 1100010100
b) 1111000110110.00001
c) 110010100111.0111011

1.15 Adicin y sustraccin hexadecimal


Como ya comentamos, los algoritmos para operaciones aritmticas vistos en las secciones
anteriores se pueden seguir al pie de la letra en cualquier sistema de numeracin posicional,
de manera que, sin ms podemos extrapolarlos al sistema hexadecimal.
Analizaremos solamente el algoritmo de la suma y el de la resta, que tienen aplicacin
prctica en el campo de la computacin al manejar el direccionamiento a memoria. Para
extrapolar estos algoritmos al sistema hexadecimal debemos tener en cuenta que cuando
llevamos una unidad de una posicin a otra contigua su valor se modifica. Cada unidad
movida a la posicin contigua a la derecha, se convierte en 16 unidades de esta nueva
posicin y a la inversa, necesitamos tomar 16 unidades de una posicin para convertirlas en
una unidad de la posicin contigua a la izquierda.
Hagamos la suma AF3.E + 40D.FA. Comenzamos alineando las cantidades a sumar de tal
manera que coincidan los dgitos de igual ponderacin.

27

AF3.E
+ 40D.FA
DA

Sumando de derecha a izquierda: 0 + A = A; la suma E + F se


facilita sumando sus equivalentes decimales 14 + 15 = 29, puesto
que no hay un dgito hexadecimal con este valor, debemos tomar de
29 el mayor mltiplo posible de 16 para agregarlo a la siguiente
posicin a la izquierda, as tomamos 16, que agregamos a la
siguiente posicin como una unidad y dejamos 13 en sta, que
corresponde a D
Continuaremos la suma considerando el correspondiente decimal
de cada dgito hexadecimal.

1 1

AF3.E
+ 40D.FA
1.DA

1 + 3 + 13 = 17, dejamos 1 en esta posicin y llevamos 16, que se


convierten en 1 en la siguiente posicin a la izquierda.

1 1 1

AF3.E
+ 40D.FA
F01.DA

1 + 15 + 0 = 16, dejamos 0 en esta posicin y llevamos 16, que se


convierten en 1 en la siguiente posicin a la izquierda. Por ltimo,
1 + 10 + 4 = 15 que corresponde a F.

Restemos ahora ADC4 de E02F


13 15 16

E/ 0/ 2 F
ADC4

15 4 = 11 que corresponde a B; para restar C de 2 tenemos que


pedir una unidad a la siguiente posicin a la izquierda. Puesto que en
esa posicin hay cero unidades, se la pedimos a la siguiente posicin
a la izquierda, quedndonos ah D unidades (que corresponde a 13).
La unidad cedida se convierte en 16 en la siguiente posicin a la
derecha, dejamos 15 en esta posicin y pasamos una a la siguiente
posicin a la derecha, que a su vez se convierte en 16.

18
D 15 1/6/

E/0/2/ F
ADC4

326B

Sumamos a las 16 unidades que se agregaron a la segunda posicin


de derecha a izquierda, las 2 que ya se tenan, dando un total de 18.
Continuamos con la resta hasta terminar 18 12 = 6, 15 13 = 2,
13 10 = 3.

Ejercicios 1.15
1. Realiza las siguientes operaciones
a) 9EC2.F + 8AD.B3
b) 87EDA2 + 1F94B
c) DDF2F.A + 3CB7.3E
d) 1204B 82C5
e) 8F03.57 83A7F4
f) 4E.9B8 2.5D8
28

1.16 Complementos
La computadora procesa datos slo a travs de ceros y unos (bits), de manera que al
manejar nmeros negativos es necesaria una convencin para distinguirlos de los positivos,
la que se usa es la siguiente: si el dgito ms significativo es uno, el nmero es negativo; en
caso contrario es positivo. As, de acuerdo con esta convencin, el cero queda clasificado
en computacin como un nmero positivo; aunque en matemticas, el cero no es, ni
positivo ni negativo.
Para almacenar un nmero en la memoria de una computadora se dispone de una cantidad
predefinida de bits, dicha cantidad queda determinada por el uso que se le d al nmero.
Por ejemplo, si se dispusiera de 4 bits el nmero 5 quedara almacenado de la sig. forma
0

y disponiendo de 8 bits, la representacin de este mismo nmero sera:


0

Cuando se dispone de 4 bits para almacenar un nmero, el ms grande entero positivo que
puede ser almacenado es el 7 debido a que el dgito ms significativo est reservado para
denotar el signo. Por la misma razn, cuando se dispone de 8 bits, el entero positivo ms
grande que podra almacenarse es 127.
Una manera de representar nmeros binarios negativos es cambiar el cero por el uno del bit
ms a la izquierda. Por ejemplo, en esta forma, el 5 quedara expresado
1

Sin embargo, para realizar operaciones no se usa esta representacin porque con ella no se
conservaran las propiedades fundamentales de las operaciones aritmticas, por ejemplo
5+(-5) = 0; sin embargo, al sumar estas dos representaciones en binario
0101
+ 1101
10010
obtenemos un nmero diferente de cero que, almacenado en los 4 bits disponibles,
corresponde al 2.
Tratando de resolver este problema, se buscara representar el 5 de manera que al ser
sumado con 0101 se obtuviera como resultado el cero. Se buscara el segundo sumando de
la siguiente suma:
0101
+
0000
29

Por supuesto, no hay un nmero con el que esta suma pudiera conseguirse, pero s es
factible encontrar un nmero que, sumado a 0101 d como resultado 10000.
0101
+

(10000 0101)

10000
Este resultado es til ya que como slo se dispone de 4 bits para almacenar un nmero, la
computadora no almacena el uno, se acostumbra decir que el uno se desborda. El nmero
buscado (la representacin de 5) se consigue restando 0101 de 10000. As 5 se almacena
como 1011, este nmero es llamado el complemento de 0101. Si dispusiramos de ms bits
para almacenar un nmero en la computadora, por ejemplo: 8 bits, el nmero 5 quedara
almacenado como 00000101 y el -5, como 11111011, ya que con 8 bits el procedimiento
sera de la siguiente manera.
00000101
+

(100000000 00000101)

100000000
Observa que cuando la cantidad de bits disponibles para almacenar el nmero aumenta, la
representacin es la misma, excepto que, si el nmero es positivo, tendr tantos ceros a la
izquierda como la cantidad de bits que se hayan aumentado; en el caso que el nmero sea
negativo, tambin tendra la misma representacin, pero ste tendr tantos unos a la
izquierda como la cantidad de bits que se hayan aumentado.
Para simplificar la escritura, hemos venido trabajando con la mnima cantidad de bits
necesarios, sin preocuparnos de cuantos bits se dispona para el almacenamiento.
Continuaremos de la misma manera, pero ahora reservando el bit ms a la izquierda para el
signo. Antes de esta seccin no haba sido necesario hacer la distincin porque habamos
representado slo nmeros positivos. Por ejemplo, el nmero 19 representado con la
mnima cantidad de bits es 010011, el cero ms a la izquierda indica que se trata de un
nmero positivo. Si se quita el cero de la izquierda, 10011 ya no estara representando al
nmero 19, sino al -13.
Ejercicios 1.16
1) Usando 8 bits, escribe la representacin binaria en complemento a dos de los nmeros
indicados.
a) 126
b) 49
c) 49
d) 83
2) Repite el ejercicio 1 usando 10 bits.
3) Identifica el nmero decimal que corresponde a cada uno de los binarios dados en
notacin complemento a dos.
30

a)
b)
c)
d)

10100111
00011011
11101001
01111001

Tambin es posible obtener el complemento de un nmero negativo. Por ejemplo, el


complemento de 5 (5 = 1011 2), se calculara como
1 1 1 10

1/ 0000

1011

0101

se obtiene 0101 que corresponde al nmero 5

Esto es, encontrar el complemento de un nmero es calcular su inverso aditivo.


Ahora calculemos el complemento de 10011 (100112 = 13). Al representar el nmero con
cinco dgitos binarios estamos haciendo la suposicin de que en la computadora se han
reservado cinco bits para almacenarlo, con esta consideracin el complemento del nmero
es lo que le falta para completar 100000, es decir el resultado de la diferencia
De la misma manera, para calcular el complemento de 0110100, estaramos suponiendo que
se han reservado 7 bits para almacenar el nmero, y efectuaramos la resta
1 1 1 1 10

1/ 0000000
0110100

1 001100

el complemento de 0110100 es 1001100

La tarea de encontrar el complemento de un nmero, no requiere la ejecucin de la resta,


podemos darnos una idea de cmo hacer esto analizando los ejemplos anteriores. Puesto
que el minuendo consta slo de ceros excepto el uno ms a la izquierda, en el momento en
que aparece el primer uno en el sustraendo al estar realizando la resta, se hace necesario
tener ms unidades en esa misma posicin del minuendo, por lo que el resultado coincide
con el sustraendo hasta ese primer uno. Despus de ese primer uno, lo que es uno en el
sustraendo es cero en el resultado y viceversa. Una forma de abreviar esto, es: Para
calcular el complemento de un nmero binario se copia, de derecha a izquierda, cada uno
de los dgitos del nmero hasta el primer uno (incluyndolo), despus cada dgito cambia.
Siguiendo la regla, el complemento de 101101000
es 010011000.
Podemos verificar esto sumando el nmero y su complemento; el resultado debe ser cero
(considerando que de este resultado, se desborda el dgito ms significativo ya que estamos
suponiendo que el espacio de memoria reservado es de 9 dgitos para cada nmero).
101101000
+ 010011000
1/ 000000000
31

Ejercicios 1.17a
1) Calcula el complemento de cada uno de los siguientes nmeros binarios
a) 010011000
b) 110111011
c) 110010
d) 01111001
Podemos hablar tambin del complemento de un nmero decimal, de uno hexadecimal, o
en general de un nmero expresado en cualquier base, a este complemento, se le llama
complemento a la base (en el binario se llama complemento a dos, en el decimal
complemento a diez, etc.).
Antes de definir el complemento de un nmero en base b, observa para los ejemplos dados,
que cada potencia de la base se expresa con alguna de las secuencias de dgitos 10, 100,
1000, 10000,
binario
10 21
100 22
1000 23
10000 24

decimal
10 101
100 102
1000 103
10000 104

hexadecimal
10 161
100 162
1000 163
10000 164

Cuando calculamos el complemento de 10011 lo que hicimos fue completarlo a 100000;


0110100 lo completamos a 10000000, es decir, cada uno lo completamos a la potencia de la
base que es la inmediata superior al nmero.
Definiremos el complemento a b de un entero x expresado en base b como el entero que se
debe sumar a x para completar la potencia de la base inmediata superior a x.
En el sistema decimal, para calcular el complemento de 3576 hacemos la resta:
9+1
9 9 9 10

1/ 0000
3576

6424
La regla que dimos antes para calcular el complemento en el sistema binario (sin resta) no
funciona aqu porque se dispone de ms de dos dgitos. Sin embargo, observando los
ejemplos anteriores, podemos ver que s es posible evitar la resta; la forma de hacerlo es
completando a 9 cada dgito del nmero al que le estamos buscando el complemento (el
nmero que resulta de esto es llamado complemento a nueves) y sumando uno al nmero
que resulta.
3576
6423 complemento a nueves
32

comprobacin

6423
+
1
6424

complemento a diez de 3576

A9D04
+ 562FC

1/ 00000
1000 el complemento
Esta regla s puede generalizarse a cualquier sistema, esto es,000
determinar
de un nmero expresado en el sistema con base b consiste en0completar cada dgito del
nmero a la base menos uno (b 1) y sumar uno a este resultado.

Por ejemplo, el complemento de A9D0416 se calcula:


A9D04
562FB
+

complemento a quinces

562FB
1

562FC

complemento a diecisis de A9D04

De la misma manera, el clculo del complemento de 110101002 queda:


11010100
00101011

complemento a unos de 11010100

11010100
+ 00101100

00101011
+
1
00101100

comprobacin

complemento a dos de 11010100

1/ 00000000
10000

Cuando se calcula el complemento de un nmero binario es ms fcil recurrir a la regla que


se dio al principio (pg. 31) porque es ms directa.
Ejercicios 1.17b
1) En cada inciso calcula el complemento del nmero dado
a) 9999
b) A84F30016
c) 293870
d) E2D51FF16

comprobacin
3576
+ 6424
1/ 0000
10000

Con el recurso que ahora tenemos de expresar los nmeros negativos usando
complementos, podemos calcular las restas como sumas ya que 7 4 = 7 + (4). Restar 4 a
7 es equivalente a sumar a 7 el inverso aditivo de 4. Si pensamos en que estuviramos
trabajando en la computadora con nmeros de un solo dgito, a 4 podramos expresarlo
mediante su complemento que es 6. As tendramos que, calcular 7 4 = 7 + (4)
equivaldra a sumar 7 + 6 y considerar slo el dgito menos significativo de esta suma ya
que computacionalmente hablando se dara un desbordamiento por estar trabajando con un
solo dgito. Puede justificarse este proceso con base en las propiedades de las operaciones
aritmticas como puede verse enseguida:
33

74=74+0
= 7 4 + (9 + 1 10)
= 7 + (9 4 +1) 10
complemento a diez de 4
= 7 + 6 10
= 13 10
desbordamiento
=3
Este ltimo desarrollo se puede justificar para cualquier par de nmeros. Es importante
suponer que los nmeros a restar tienen el mismo nmero de dgitos; si no es as basta con
agregar tantos ceros a la izquierda como sea necesario al nmero ms pequeo, esta adicin
de ceros a la izquierda se basa en el supuesto de que todos los nmeros que se estn
manejando son positivos. Para ilustrar esto supongamos que los nmeros a restar son X y
Y, ambos con 5 dgitos y Y ms pequeo que X, el desarrollo queda:
XY=XY+0
= X Y + (99999 + 1 100000)
= X + (99999 Y + 1) 100000
complemento a diez de Y
= X + [(99999 Y) + 1] 100000
desbordamiento
En otras palabras, podemos calcular la resta X Y sumndole a X el complemento a diez
de Y y restando 100000 al resultado; el restar esos 100000 es equivalente a quitar al
resultado el uno ms significativo ya que supusimos que X y Y son de 5 dgitos.
Para hacer la resta 89637 871 usando complementos, debemos calcular primero el
complemento del sustraendo ajustndolo antes a la misma cantidad de dgitos del minuendo
00871
99128
complemento a nueves de 00871
99129
complemento a diez de 00871
despus, sumar este complemento al minuendo y finalmente restar 100000 (por ser
nmeros de 5 dgitos) al resultado de la suma.
89637
+ 99129
1/ 88766

quitar el 1 equivale a efectuar la resta

Resumiendo el proceso efectuado, tenemos:


89637 871 = 89637 + 99129 100000
= 88766

34

Con este mismo procedimiento podemos efectuar restas en cualquier sistema posicional,
veamos dos ejemplos: uno en el sistema binario y otro en el hexadecimal.
1) 1101100 110010
el complemento de 0110010
es 1001110

1101100
+ 1001110
1/ 0111010

resumiendo:
1101100 110010 = 1101100 + 1001110 10000000
= 111010
2) FA39D 8E6B9
el complemento a quinces de 8E6B9
es 71946 y
el complemento a dieciseis es 71947

FA39D
+ 71 947
1/ 6BCE4

resumiendo:
FA39D 8E6B9 = FA39D + 71947 100000
= 6BCE4
Ejercicios 1.17c
1) Haz las siguientes restas usando complementos
a) 98372 7543
b) 110100112 10011102
c) 110011012 100011102
d) 1001112 1012
e) D5BC316 A216
f) E81DA16 C23FF16
Veamos ahora, analizando un ejemplo, cmo efectuar una resta usando complementos en el
caso en que el minuendo es menor que el sustraendo. Procediendo de la misma forma en
que lo hicimos en la justificacin para el uso de complementos (pgina 33), tenemos que:
395 423 = 395 423 + 1000 1000
= 395 + (1000 423) 1000
complemento a diez de 423
de 4
= 395 + 577 1000
= 972 1000
Hasta aqu el procedimiento es el mismo que se sigue cuando el
minuendo es mayor que el sustraendo, la diferencia en este caso
es que 972 no tiene un uno en la posicin de las unidades de
millar que nos permita efectuar la resta 972 1000 con slo
eliminarlo. Esta situacin se presentar siempre que el minuendo
sea menor que el sustraendo y procederemos como sigue:
35

= (1000 972)
complemento a diez de 972
= 28 de 4
En el primer caso, el uno se desborda automticamente (lo que equivale a restar, como paso
final, la potencia de la base) debido a que se excede el nmero de bits de memoria
reservados; en el segundo caso tampoco hay necesidad, como paso final, de restar la
potencia de la base pues el nmero obtenido ya es el resultado de la resta expresado en
complementos.
Lo interesante del uso de complementos es que la computadora sigue el mismo
procedimiento independientemente de si el minuendo es mayor o menor que el sustraendo,
o si los nmeros son positivos o son negativos. Ya sea que haya habido o no un
desbordamiento, el resultado obtenido es el correspondiente a la operacin y est dado
como debe ser almacenado. Lo nico que debe cuidarse es que ese resultado no exceda la
cantidad de bits disponibles para su almacenamiento, porque esto s ocasionara errores,
veamos el siguiente ejemplo.
Hagamos en binario la resta 59 (21) = 80, usando el mnimo nmero de bits para su
representacin incluyendo el bit de signo.
59 = 01110112
21=00101012
21= 11010112 el nmero mnimo de bits lo marca
el 59.
0111011 (1101011) = 0111011 + 0010101 = 1010000

0111011
+ 0010101
1010000

El resultado esperado de la resta es 80, sin embargo slo sera 80 si tomramos todos los
dgitos para el nmero, pero recordemos que el bit ms significativo est reservado para el
signo, de manera que lo que se almacena es 48. Se comete un error debido a que 7 bits no
son suficientes para representar el resultado, ste requiere de un bit adicional, esta
necesidad de almacenamiento del resultado debe ser considerada desde el principio.
Representando los nmeros con 8 bits no se incurre en este error.
00111011 (11101011) = 00111011 + 00010101 = 01010000

00111011
+ 00010101
01010000

Este ejemplo muestra la importancia de tener en cuenta el rango de nmeros que pueden
manejarse dependiendo de la cantidad de bits disponibles.

36

000
001
010
011
100
101
110
111

0
1
2
3 221
4 22
1
2
3

Observa que 100 est representando al 4, esto es para


aprovechar al mximo la memoria disponible, no tendra sentido
destinar dos espacios para representar al cero. Por esta razn se
ha convenido que cuando el nico bit diferente de cero es el
destinado al signo, este bit cuenta, tanto para el signo (negativo)
como para dar el valor absoluto del nmero.

Para tres bits, el rango es de 4 hasta 3 (22 hasta 221). Elabora una tabla similar
suponiendo que dispones de 4 bits para que puedas observar que el patrn para el rango de
valores que pueden almacenarse con n bits disponibles es de 2n-1 hasta 2n-11.
En el sistema decimal realmente no se obtiene ventaja de efectuar una resta usando
complementos, de hecho es ms laborioso seguir ese camino; es en el sistema binario, con
el uso de las computadoras, que tiene sentido el uso de complementos. Ya hemos
comentado que estos algoritmos pueden usarse en cualquier sistema posicional; como un
ejemplo en el sistema binario, restemos 0101101 de 0011101
el complemento a dos de 0101101
es 1010011

0011101
+ 1010011
1110000

Sigue ahora t el algoritmo en el sistema hexadecimal efectuando la resta A7EF FD3A.


Ejercicios 1.17d
Efecta las siguientes restas usando complementos, recuerda igualar en los nmeros la
cantidad de bits.
a) 010001102 011101012
b) 01111102 110101112
c) A3FCB16 D258E16
d) 91B8C16 7DF3E216

1.17 Algoritmo de Booth para la multiplicacin


Veremos ahora que el uso de complementos permite tambin hacer ms eficientemente la
multiplicacin de nmeros con signo. Existen varios algoritmos para realizar esta tarea;
aqu veremos un algoritmo de sumas y corrimientos, el algoritmo de Booth.
Nuestro punto de partida consta de dos nmeros con signo, multiplicando y multiplicador,
con longitudes en bits, m para el primero y n para el segundo:
Inicializacin:
1. Se define una matriz de tres filas y m+n+1 columnas llamando M a la primera fila,
C a la segunda y P a la tercera.
37

2. Los primeros m bits de cada fila se asignan de la siguiente manera


M: el multiplicando
C: el complemento a dos del multiplicando
P: ceros
3. Los siguientes n bits reciben como valor
M: ceros
C: ceros
P: el multiplicador
4. Se asigna cero a todos los valores de la ltima columna
Procedimiento:
Se realizan n iteraciones del siguiente ciclo
a) Se comparan los dos ltimos bits de P y se realiza la accin correspondiente
i. 00 11: no se hace nada
ii. 01: P = P + M
iii. 10: P = P + C
b) Se desplazan todos los bits de P una posicin a la derecha y se reproduce el
bit ms significativo (el bit de signo). En el corrimiento se pierde el bit
menos significativo.
c) Al final de las n iteraciones se elimina el bit ms a la derecha de P (el menos
significativo), el nuevo P, obtenido quitando este bit, es el resultado de la
multiplicacin.
Sigamos el algoritmo multiplicando 7 por 3 (7 = 01112 3 = 0112).
Inicializacin:
M 0 1 1 1 0 0 0 0
C 1 0 0 1 0 0 0 0
P 0 0 0 0 0 1 1 0

Procedimiento:
M
C
P
P
P
P
P
P
P

0
1
0
1
1
1
0
0
0

1
0
0
0
1
1
1
0
0

1
0
0
0
0
1
0
1
1

1
1
0
1
0
0
1
0
0

0
0
0
0
1
0
0
1
1

0
0
1
1
0
1
1
0
0

0
0
1
1
1
0
0
1
1

0 Accin
0 realizada
0
0 P=P+C
1
Termina 1 iteracin

Termina 2 iteracin
1 P=P+M
0
Termina 3 iteracin

producto

Hagamos ahora la multiplicacin 7 por 3 (7 = 01112 3 = 1012).


38

Inicializacin:
M 0 1 1 1 0 0 0 0
C 1 0 0 1 0 0 0 0
P 0 0 0 0 1 0 1 0
Procedimiento:
M
C
P
P
P
P
P
P
P
P

0
1
0
1
1
0
0
1
1
1

1
0
0
0
1
0
0
0
1
1

1
0
0
0
0
1
0
1
0
0

1
1
0
1
0
1
1
0
1
1

0
0
1
1
1
1
1
1
0
0

0
0
0
0
1
1
1
1
1
1

0
0
1
1
0
0
1
1
1
1

0 Accin
0 realizada
0
0 P=P+C
1
Termina 1 iteracin

1 P=P+M
0
Termina 2 iteracin

0 P=P+C
1
Termina 3 iteracin

producto

Practica el algoritmo haciendo la multiplicacin 7 por 3.

1.18 Algoritmo para la divisin


El algoritmo para la divisin, visto en la seccin 1.10, puede esquematizarse con restas y
corrimientos para su implementacin en la computadora. En este algoritmo el cociente se
calcula bit a bit, asignando un uno si la resta puede efectuarse; o un cero en caso contrario.
Antes de empezar es importante comentar que trabajaremos solamente con nmeros
positivos, igual que lo hicimos en la seccin 1.10 pues se trata del mismo algoritmo.
Considerando esto, en la representacin de los nmeros se omitir el bit de signo y el
tratamiento de los signos se hace por separado cuando alguno de los operandos sea
negativo.
Nuestros datos son dos nmeros positivos: divisor y dividendo con longitudes en bits, m
para el primero y n para el segundo:
Inicializacin:
1. Se define una matriz de 3 filas y m+n columnas llamando C a la primera fila, R a la
segunda y D a la tercera.
2. Los primeros m bits de cada fila se asignan de la siguiente manera
C: ceros
R: ceros
D: divisor
3. Los siguientes n bits reciben como valor
C: ceros
R: dividendo
D: ceros
39

Procedimiento:
Se realizan n iteraciones del siguiente ciclo
a) Se desplazan todos los bits de D una posicin a la derecha y se coloca un
cero en el bit ms significativo.
b) Si R es mayor o igual que D, hacer R = R D y asignar 1 al bit de C
correspondiente a la columna (m + i), donde i es el nmero del corrimiento .
Al final de las n iteraciones C es el cociente y R el residuo.

Sigamos el algoritmo dividiendo 29 entre 3 (29 = 111012 3 = 112).


Inicializacin:
C 0 0 0 0 0 0 0
R 0 0 1 1 1 0 1
D 1 1 0 0 0 0 0

Procedimiento:
C
R
D
D
D
R
D
D
D
R

0
0
1
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0

0
1
0
1
1
0
0
0
0
0

2
1
1
0
0
1
0
1
0
0
0

0
1
0
0
0
1
1
1
0
0

0
0
0
0
0
0
0
1
1
1

5
1
Accin
1
0 realizada
0
Termina 1 iteracin

1 R = R D Termina 2 iteracin
0

Termina 3 iteracin
0
Termina 4 iteracin

0 R = R D Termina 5 iteracin

Las etiquetas colocadas sobre los unos de C indican la iteracin en que se asign ese uno.
Practica el algoritmo haciendo la divisin 55 entre 5.

Tarea 1
1) Convierte cada nmero binario a su forma decimal
a) 1101110112
b) 110111.0112
c) 111.01012
2) Convierte cada nmero decimal a su equivalente binario
a) 389
b) 44.40625
c) 5.3
40

3) Efecta las siguientes operaciones (binarias)


a) 111011.01 + 1111.11
b) 111011 + 111110 +100111
c) 11011 + 111001 + 1001 + 11001 +11111
d) 11011.11 10110.01
e) 11000 10101
f) 1100011 110111
g) 111010 111100
h) 1011.01 1.01
i) 110111 110
j) 1101.01 1.001
k) 1011011 111
l) 100.0001 10.1
m) 111.1011 11.01
4) Convierte cada nmero decimal a su equivalente hexadecimal
a) 967
b) 28930
c) 0.3
5) Convierte a forma decimal
a) 3E716
b) 4A5C16
c) 7B.CF16
d) AA0.20F16
6) Convierte cada nmero hexadecimal a su equivalente binario
a) B9E416
b) 50C7F616
c) 7B.CF16
d) 18FF.0A16
7) Convierte a forma hexadecimal
a) 111011011011002
b) 11100011111102
c) 111110.1011112
d) 100111100.1000112
8) Efecta las siguientes operaciones
a) 47B616 + 9C7516
b) 8D07A516 + 734F616
c) 67.E916 +A.BCDE16
d) 76B516 432C16
e) A5791316 64EE0016
f) 64EE0016 A5791316
41

9) Haz las siguientes diferencias usando complementos


a) 11012 1102
b) 111001112 110011002
c) 101012 110112
d) 1100112 1110112
e) EF50416 A42B16
f) AE3216 75EF16
g) E37A16 FF4016
10) En cada inciso usa el mnimo nmero de bits para escribir la representacin binaria en
complemento a dos del nmero dado.
a) 63
b) 98
c) 123
d) 36
11) Cul es el menor nmero de bits que necesitas para expresar todos los nmeros del
ejercicio anterior?
12) Identifica el nmero decimal que corresponde a cada uno de los binarios dados en
notacin complemento a dos.
a) 1011011
b) 011001
c) 10101011
d) 01101001
13) Determina el rango de nmeros enteros con signo que pueden representarse usando
a) 8 bits
b) 16 bits
14) Usa el algoritmo de Booth para multiplicar
a) 9 por 2
b) 4 por 3
c) 5 por 7
15) Usando el algoritmo para la divisin, haz las siguientes operaciones
a) 43/7
b) 34/5

42

Solucin de ejercicios
Sistemas Numricos
Ejercicios 1.2a:
1)
R

2)
3)
4)
5)

Como decimales peridicos porque satisfacen la definicin al tener el cero como perodo.
Es un decimal peridico
Es un decimal peridico
S, pues todos los elementos de Q se definen en trminos de un cociente, el cual slo tiene
un nmero finito de residuos que termina repitindose.

6) S, 0.333... =

1
3

7) S, 0.321321321... =

321
999

8) S, pues todo decimal peridico puede escribirse como un cociente de nmeros enteros.
9)
R
Q

decimales

peridicos

decimales no
peridicos

Ejercicios 1.2b:
1)
a) 93.75
b) 0.14285714285714
c) 0.333
2) S, pues todos los residuos posibles incluye al cero y al obtenerse cero como residuo, la
divisin termina.
3) No, porque si entre los residuos que se obtengan est el cero, la divisin termina.
Ejercicios 1.2c:
1)
a)

7
9

b) 1
1

c)
d)
e)

25
99
486
999
324
99

Ejercicios 1.5a:
1)
a) 0.5
b) 0.25
c) 0.125
d) 0.75
e) 9.875
f) 5.625
Ejercicios 1.5b:
1)
a) 25.53125
b) 70.078125
c) 62.5625
d) 16.28125
Ejercicios 1.6:
1)
a) 10010100.001012
b) 1010.01001100110012
c) 1010011.1000112
d) 0.01101112
e) 101.0100100012
Ejercicios 1.7:
1)
a) 10011.0011
b) 1100010
c) 1000100.01001
d) 1000011.0111
e) 1.11110
Ejercicios 1.8:
1)
a) 100000000100
b) 1100110011
c) 11001000.1101
d) 100001011.0011
e) 100.00111
Ejercicios 1.9:
1)
a) 100110
2

b)
c)
d)
e)

1.01
110.0111
1011
1001100

Ejercicios 1.10:
1)
a) 11001
b) 11110110
c) 1011110
d) 100.1001
Ejercicios 1.11:
1) Ejemplos de enteros: A54B16, B81C316, 81BFA316, 4B7E16, D4B16; ejemplos de no
enteros: 0.BB3C16, B.FED16, 17.A216, 0.B16, C.ED3AA16
2) 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11,12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C,
1D, 1E, 1F, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 3A, 3B, 3C, 3D, 3E, 3F, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A,
4B, 4C, 4D, 4E, 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5A, 5B, 5C, 5D, 5E, 5F, 60, 61,
62, 63, 64,
3)
a) 9A0
b) B00
c) 4DFA
d) 10000
Ejercicios 1.12:
1)
a) 2463 y 2464
b) 2815 y 2816
c) 19961 y 19962
d) 65535 y 65536
2) Calcula el equivalente decimal de los siguientes nmeros
a) 196827.628417968
b) 43788.870849609
c) 4352.000244140625
Ejercicios 1.13:
1)
a) 1000016
b) 17.D09FF9216
c) 2.266616
d) 300.9EB851EB851EB85116
Ejercicios 1.14:
1)
a) 1111100100001110.00000012
b) 1111011010111111112
c) 101111001100.001000001112
3

2)
a) 41316
b) 1E36.0816
c) CA7.7616
Ejercicios 1.15
1)
a) A770.A3
b) 89E6ED
c) E1BE6.DE
d) 9D86
e) 8318F0.A9
f) 4C.3E0
Ejercicios 1.16
1)
a) 01111110
b) 00110001
c) 11001111
d) 10101101
2)
a) 0001111110
b) 0000110001
c) 1111001111
d) 1110101101
3)
a) 89
b) 27
c) 23
d) 121
Ejercicios 1.17a
1)
a) 101101000
b) 001000101
c) 001110
d) 10000111
Ejercicios 1.17b
1)
a) 0001
b) 57B0D00
c) 706130
d) 1D29E01
Ejercicios 1.17c
1) Haz las siguientes restas usando complementos
a) 98372 7543
b) 110100112 10011102
c) 110011012 100011102
4

d) 1001112 1012
e) D5BC316 A216
f) E81DA16 C23FF16

Tarea 1
1)
a) 443
b) 55.375
c) 7.3125
2)
a) 1100001012
b) 101100.011012
c) 101.01001100110012
3)
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)

1001011.00
10100000
10010101
101.10
11
101100
10
1110.0001
101001010
1110.11101
1101
1.101
10.01

4)
a) 3C716
b) 710216
c) 0.4CCC16
5)
a)
b)
c)
d)

999
19036
123.80859375
2720.128662109375

a)
b)
c)
d)

10111001111001002
101000011000111111101102
1111011.110011112
1100011111111.00001012

6)

7)
a)
b)
c)
d)

3B6C16
1C7E16
3E.BC16
13C.8C16

a)
b)
c)
d)
e)
f)

E42B16
943C9B16
72.A5DE16
338916
408B1316
408B1316

a)
b)
c)
d)
e)
f)
g)

1112
110112
110102
1110002
E50D916
384316
E43A16

a)
b)
c)
d)

01111112
011000102
100001012
10111002

8)

9)

10)

11) 8 bits
12)
a)
b)
c)
d)

37
25
85
105

13)
a) De 128 hasta 127
b) De 32768 hasta 32767
14)
a) Lnea final de la matriz (resultado) P: 00010010
b) Lnea final de la matriz P: 1110100
c)
Inicializacin:
M 1 0 1 1 0 0 0 0 0
C 0 1 0 1 0 0 0 0 0
P 0 0 0 0 1 0 0 1 0
6

Procedimiento:
M
C
P
P
P
P
P
P
P
P
P

1
0
0
0
0
1
1
1
0
0
0

0
1
0
1
0
1
1
1
1
0
0

1
0
0
0
1
0
1
1
0
1
1

1
1
0
1
0
1
0
1
0
0
0

0
0
1
1
1
1
1
0
0
0
0

0
0
0
0
1
1
1
1
1
0
0

0
0
0
0
0
0
1
1
1
1
1

0
0
1
1
0
0
0
1
1
1
1

0 Accin
0 realizada
0
0 P=P+C
Termina 1 iteracin
1

1 P=P+M
Termina 2 iteracin
0

Termina 3 iteracin
0

0 P=P+C
Termina 4 iteracin
1

producto

15)
a)
Divisor
dividendo

7 = 1112 ; m = 3
43 = 1010112; n = 6

Inicializacin:
C 0 0 0 0 0 0 0 0 0
R 0 0 0 1 0 1 0 1 1
D 1 1 1 0 0 0 0 0 0
Procedimiento:
4 5
C
R
D
D
D
D
D
R
D
R
D

0
0
1
0
0
0
0
0
0
0
0

0
0
1
1
0
0
0
0
0
0
0

0
0
1
1
1
0
0
0
0
0
0

0
1
0
1
1
1
0
0
0
0
0

0
0
0
0
1
1
1
0
0
0
0

Cociente C 1102 = 6

0
1
0
0
0
1
1
1
1
0
0

1
0
0
0
0
0
1
1
1
0
1

1
1
0
0
0
0
0
1
1
0
1

0
Accin
1
0 realizada
0

1 R=RD
0

1 R=RD
1

Termina 1 iteracin
Termina 2 iteracin
Termina
Termina 2
3 iteracin
iteracin
Termina 4 iteracin

Termina 5 iteracin
Termina 6 iteracin

Residuo R 12 = 1

b) Divisor 5 = 1102; m = 3
Cociente C 1102 = 6

dividendo 34 = 1000102; n = 6

You might also like