Sie sind auf Seite 1von 30

Sistema de numeracin

Un sistema de numeracin es un conjunto de smbolos y reglas de generacin que permiten


construir todos los nmeros vlidos.
Un sistema de numeracin puede representarse como

donde:

es el sistema de numeracin considerado (p.ej. decimal, binario, etc.).


es el conjunto de smbolos permitidos en el sistema. En el caso del sistema decimal
son {0,1,...9}; en el binario son {0,1}; en el octal son {0,1,...7}; en el hexadecimal son
{0,1,...9,A,B,C,D,E,F}.

son las reglas que nos indican qu nmeros son vlidos en el sistema, y cules no.
En un sistema de numeracin posicional las reglas son bastante simples, mientras que
la numeracin romana requiere reglas algo ms elaboradas.

Estas reglas son diferentes para cada sistema de numeracin considerado, pero una regla
comn a todos es que para construir nmeros vlidos en un sistema de numeracin
determinado slo se pueden utilizar los smbolos permitidos en ese sistema.
Para indicar en qu sistema de numeracin se representa una cantidad se aade
como subndice a la derecha el nmero de smbolos que se pueden representar en dicho
sistema.
ndice

1 Clasificacin
o

1.1 Sistemas de numeracin no posicionales

1.2 Sistemas de numeracin posicionales

2 Teorema fundamental de la numeracin


o

2.1 Ejemplo en el sistema decimal

2.2 Ejemplo en el sistema binario


3 Vase tambin

4 Referencias
4.1 Bibliografa

Clasificacin[editar]
Los sistemas de numeracin pueden clasificarse en dos grandes grupos: posicionales y noposicionales:

En los sistemas no-posicionales los dgitos tienen el valor del smbolo utilizado, que no
depende de la posicin (columna) que ocupan en el nmero.

En los sistemas de numeracin ponderados o posicionales el valor de un dgito


depende tanto del smbolo utilizado, como de la posicin que se smbolo ocupa en el
nmero.

Por ejemplo, el sistema de numeracin egipcio es no posicional, en cambio el babilnico es


posicional. Las lenguas naturales poseen sistemas de numeracin posicionales basados en
base 10 20, a veces con subsistemas de cinco elementos. Adems, en algunas pocas
lenguas los numerales bsicos a partir de cuatro tienen nombres basados en numerales ms
pequeos.

Sistemas de numeracin no posicionales[editar]


Estos son los ms antiguos, se usaban por ejemplo los dedos de la mano para representar la
cantidad cinco y despus se hablaba de cuntas manos se tena. Tambin se sabe que se
usaba cuerdas con nudos para representar cantidad. Tiene mucho que ver con la
coordinabilidad entre conjuntos. Entre ellos estn los sistemas del antiguo Egipto, el sistema
de numeracin romana, y los usados en Mesoamrica por mayas, aztecas y otros pueblos .
Al igual que otras civilizaciones mesoamericanas, los mayas utilizaban un sistema de
numeracin de raz mixta de base 20 (vigesimal). Tambin los mayas preclsicos desarrollaron
independientemente el concepto de cero (existen inscripciones datadas hacia el ao 36 a. C.
que as lo atestiguan.).

Sistemas de numeracin posicionales[editar]


Artculo principal: Sistema de numeracin posicional

El nmero de smbolos permitidos en un sistema de numeracin posicional se conoce


como base del sistema de numeracin. Si un sistema de numeracin posicional tiene
base b significa que disponemos de b smbolos diferentes para escribir los nmeros, y
que b unidades forman una unidad de orden superior.
Ejemplo en el sistema de numeracin decimal
Si contamos desde 0, incrementando una unidad cada vez, al llegar a 9 unidades,
hemos agotado los smbolos disponibles, y si queremos seguir contando no disponemos de un
nuevo smbolo para representar la cantidad que hemos contado. Por tanto aadimos una
nueva columna a la izquierda del nmero, reutilizamoslos smbolos de que disponemos,
decimos que tenemos una unidad de segundo orden (decena), ponemos a cero las unidades,
y seguimos contando.

De igual forma, cuando contamos hasta 99, hemos agotado los smbolos disponibles para las
dos columnas; por tanto si contamos (sumamos) una unidad ms, debemos poner a cero la
columna de la derecha y sumar 1 a la de la izquierda (decenas). Pero la columna de la
izquierda ya ha agotado los smbolos disponibles, as que la ponemos a cero, y sumamos 1 a
la siguiente columna (centena). Como resultado nos queda que 99+1=100.
El cuenta kilmetros mecnico, al utilizar el sistema de numeracin posicional decimal, nos
muestra lo anterior: va sumando 1 a la columna de la derecha y cuando la rueda de esa
columna ha completado una vuelta (se agotan los smbolos), se pone a cero y se aade una
unidad a la siguiente columna de la izquierda.
Pero estamos tan habituados a contar usando el sistema decimal que no somos conscientes
de este comportamiento, y damos por hecho que 99+1=100, sin pararnos a pensar en el
significado que encierra esa expresin.
Tal es la costumbre de calcular en decimal que la mayora de la poblacin ni siquiera se
imagina que puedan existir otros sistemas de numeracin diferentes al de base 10, y tan
vlidos y tiles como este. Entre esos sistemas se encuentran el de base 2 sistema binario, de
base 8 sistema octal y el de base 16 sistema hexadecimal. Tambin los antiguos mayas
tuvieron un sistema de numeracin posicional el cual ya no se usa.

Teorema fundamental de la numeracin[editar]


Este teorema establece la forma general de construir nmeros en un sistema de numeracin
posicional. Primero estableceremos unas definiciones bsicas:
, nmero vlido en el sistema de numeracin.
, base del sistema de numeracin. Nmero de smbolos permitidos en el sistema.
, un smbolo cualquiera de los permitidos en el sistema de numeracin.
,: nmero de dgitos de la parte entera.
, coma fraccionaria. Smbolo utilizado para separar la parte entera de un nmero de
su parte fraccionaria.
,: nmero de dgitos de la parte decimal.
La frmula general para construir un nmero N, con un nmero finito
de decimales, en un sistema de numeracin posicional de base b es
la siguiente:

El valor total del nmero ser la suma de cada dgito multiplicado por
la potencia de la base correspondiente a la posicin que ocupa en el
nmero.
Esta representacin posibilita la realizacin de
sencillos algoritmos para la ejecucin de operaciones aritmticas.

Ejemplo en el sistema decimal[editar]

En el sistema decimal los smbolos vlidos para construir nmeros


son {0,1,...9} (0 hasta 9, ambos incluidos), por tanto la base (el
nmero de smbolos vlidos en el sistema) es diez
En la figura inferior podemos ver el teorema fundamental de la
numeracin aplicado al sistema decimal.

Los dgitos a la izquierda de la coma fraccionaria representados


por dn-1 ... d2 d1 d0 , toman el valor correspondiente a las potencias
positivas de la base (10 en el sistema decimal), en funcin de la
posicin que ocupan en el nmero, y representan respectivamente al
dgito de las n-unidades (10n), centenas (10=100), decenas (10=10)
y unidades (100=1), ya que como se ve en el grfico estn colocados
en las posiciones n-1..., tercera, segunda y primera a la izquierda de
la coma fraccionaria.
Observar que las posiciones se numeran a partir de 0, desde derecha
a izquierda, por lo que la utima posicin para un nmero de n digitos
enteros, es n-1 y no n, ya que en ese caso sera de n+1 digitos
enteros. El uso de esta numeracin a partir de 0 es de utilidad, debido
a que la potencia 0-sima de cualquier nmero est definida como 1.
Los dgitos a la derecha de la coma fraccionaria d-1, d-2, d-3 ... d-1
n representan respectivamente al dgito de las dcimas (10 =0,1),
-2
-3
centsimas (10 =0,01), milsimas (10 =0,001) y n-simas (10-n) .
Por ejemplo, el nmero 1492,36 en decimal, puede expresarse como:

Ejemplo en el sistema binario[editar]


Vase ahora el sistema binario o de base 2. En este sistema los
dgitos vlidos son {0,1}, y dos unidades forman una unidad de orden
superior.
En la figura inferior puede verse el teorema fundamental de la
numeracin aplicado al sistema binario.

Siguiendo con el ejemplo del cuentakilmetros visto arriba, en este


caso las ruedas no tienen 10 smbolos (0 al 9) como en el caso del
sistema decimal. En el sistema binario la base es 2, lo que quiere
decir que slo existen 2 smbolos {0,1} para construir todos los
nmeros binarios.
En el sistema binario, para representar cifras mayores que 1 se
combinan los 2 smbolos {0,1} y agrega una segunda columna de un
orden superior.
Aqu las ruedas del cuentakilmetros dan una vuelta cada dos
unidades. Por tanto, una vez que se cuenta (suma) dos se
han agotado los smbolos disponibles para esa columna, y se deben
poner a cero la columna y usar otra columna a la izquierda.

SISTEMAS DE NUMERACIN
binario, octal y hexadecimal
Sistemas de numeracin
Sistema de numeracin decimal
Sistema de numeracin binario
Conversin entre nmeros decimales y binarios
El tamao de las cifras binarias
Conversin de binario a decimal
Sistema de numeracin octal
Conversin de un nmero decimal a octal
Conversin octal a decimal
Sistema de numeracin hexadecimal
Conversin de nmeros binarios a octales y viceversa
Conversin de nmeros binarios a hexadecimales y viceversa

Sistemas de numeracin
Un sistema de numeracin es un conjunto de smbolos y reglas
que permiten representar datos numricos. Los sistemas de
numeracin actuales son sistemas posicionales, que se
caracterizan porque un smbolo tiene distinto valor segn la
posicin que ocupa en la cifra.
1.

Sistema de numeracin decimal:

El sistema de numeracin que utilizamos habitualmente es


el decimal, que se compone de diez smbolos o dgitos (0, 1, 2, 3,
4, 5, 6, 7, 8 y 9) a los que otorga un valor dependiendo de la
posicin que ocupen en la cifra: unidades, decenas, centenas,
millares, etc.
El valor de cada dgito est asociado al de una potencia de base
10, nmero que coincide con la cantidad de smbolos o dgitos del
sistema decimal, y un exponente igual a la posicin que ocupa el
dgito menos uno, contando desde la derecha.
En el sistema decimal el nmero 528, por ejemplo, significa:
5 centenas + 2 decenas + 8 unidades, es decir:
5*102 + 2*101 + 8*100 o, lo que es lo mismo:
500 + 20 + 8 = 528
En el caso de nmeros con decimales, la situacin es anloga
aunque, en este caso, algunos exponentes de las potencias sern
negativos, concretamente el de los dgitos colocados a la derecha
del separador decimal. Por ejemplo, el nmero 8245,97 se
calculara como:

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 dcimos + 7


cntimos
8*103 + 2*102 + 4*101 + 5*100 + 9*10-1 + 7*10-2, es decir:
8000 + 200 + 40 + 5 + 0,9 + 0,07 = 8245,97

Sistema de numeracin binario.


El sistema de numeracin binario utiliza slo dos dgitos,
el cero (0) y el uno (1).
En una cifra binaria, cada dgito tiene distinto valor dependiendo
de la posicin que ocupe. El valor de cada posicin es el de una
potencia de base 2, elevada a un exponente igual a la posicin del
dgito menos uno. Se puede observar que, tal y como ocurra con
el sistema decimal, la base de la potencia coincide con la cantidad
de dgitos utilizados (2) para representar los nmeros.
De acuerdo con estas reglas, el nmero binario 1011 tiene un
valor que se calcula as:
1*23 + 0*22 + 1*21 + 1*20 , es decir:
8 + 0 + 2 + 1 = 11
y para expresar que ambas cifras describen la misma cantidad lo
escribimos as:
10112 = 1110

2.

Conversin entre nmeros decimales y


binarios

Convertir un nmero decimal al sistema binario es muy sencillo:


basta con realizar divisiones sucesivas por 2 y escribir los restos
obtenidos en cada divisin en orden inverso al que han sido
obtenidos.
Por ejemplo, para convertir al sistema binario el
nmero 7710 haremos una serie de divisiones que arrojarn los
restos siguientes:
77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1
y, tomando los restos en orden inverso obtenemos la cifra binaria:
7710 = 10011012
Ejercicio 1:
Expresa, en cdigo binario, los nmeros decimales
siguientes: 191, 25, 67, 99, 135, 276

i.

El tamao de las cifras binarias

La cantidad de dgitos necesarios para representar un nmero en


el sistema binario es mayor que en el sistema decimal. En el
ejemplo del prrafo anterior, para representar el nmero 77, que

en el sistema decimal est compuesto tan slo por dos dgitos, han
hecho falta siete dgitos en binario.
Para representar nmeros grandes harn falta muchos ms
dgitos. Por ejemplo, para representar nmeros mayores de 255 se
necesitarn ms de ocho dgitos, porque 28 = 256 y podemos
afirmar, por tanto, que 255 es el nmero ms grande que puede
representarse con ocho dgitos.
Como regla general, con n dgitos binarios pueden representarse
un mximo de 2n, nmeros. El nmero ms grande que puede
escribirse con n dgitos es una unidad menos, es decir, 2n 1. Con
cuatro bits, por ejemplo, pueden representarse un total
de 16 nmeros, porque 24 = 16 y el mayor de dichos nmeros es
el 15, porque 24-1 = 15.
Ejercicio 2:
Averigua cuntos nmeros pueden representarse con 8,
10, 16 y 32 bits y cul es el nmero ms grande que
puede escribirse en cada caso.

Ejercicio 3:
Dados dos nmeros
binarios: 01001000 y 01000100 Cul de ellos es el
mayor? Podras compararlos sin necesidad de
convertirlos al sistema decimal?

3.

Conversin de binario a decimal

El proceso para convertir un nmero del sistema binario al


decimal es an ms sencillo; basta con desarrollar el nmero,
teniendo en cuenta el valor de cada dgito en su posicin, que es el
de una potencia de 2, cuyo exponente es 0 en el bit situado ms a
la derecha, y se incrementa en una unidad segn vamos
avanzando posiciones hacia la izquierda.

Por ejemplo, para convertir el nmero binario 10100112 a


decimal, lo desarrollamos teniendo en cuenta el valor de cada bit:
1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 83
10100112 = 8310
Ejercicio 4:
Expresa, en el sistema decimal, los siguientes nmeros binarios:
110111, 111000, 010101, 101010, 1111110

Sistema de numeracin octal


El inconveniente de la codificacin binaria es que la
representacin de algunos nmeros resulta muy larga. Por este
motivo se utilizan otros sistemas de numeracin que resulten ms
cmodos de escribir: el sistema octal y el sistema hexadecimal.
Afortunadamente, resulta muy fcil convertir un nmero binario a
octal o a hexadecimal.
En el sistema de numeracin octal, los nmeros se representan
mediante ocho dgitos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7. Cada dgito
tiene, naturalmente, un valor distinto dependiendo del lugar que
ocupen. El valor de cada una de las posiciones viene determinado
por las potencias de base 8.
Por ejemplo, el nmero octal 2738 tiene un valor que se calcula
as:
2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610
2738 = 149610

4.

Conversin de un nmero decimal a octal

La conversin de un nmero decimal a octal se hace con la misma


tcnica que ya hemos utilizado en la conversin a binario,
mediante divisiones sucesivas por 8 y colocando los restos
obtenidos en orden inverso. Por ejemplo, para escribir en octal el
nmero decimal 12210 tendremos que hacer las siguientes
divisiones:

122 : 8 = 15

Resto:

15 : 8 = 1

Resto:

1:8=0

Resto:

Tomando los restos obtenidos en orden inverso tendremos la cifra


octal:
12210 = 1728
Ejercicio 5:
Convierte los siguientes nmeros decimales en
octales: 63 , 513 , 119
10

5.

10

10

Conversin octal a decimal

La conversin de un nmero octal a decimal es igualmente


sencilla, conociendo el peso de cada posicin en una cifra octal.
Por ejemplo, para convertir el nmero 2378 a decimal basta con
desarrollar el valor de cada dgito:
2*82 + 3*81 + 7*80 = 128 + 24 + 7 = 15910
2378 = 15910
Ejercicio 6:

Convierte al sistema decimal los siguientes nmeros


octales: 458,

1258, 6258

Sistema de numeracin
hexadecimal
En el sistema hexadecimal los nmeros se representan con
diecisis smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se
utilizan los caracteres A, B, C, D, E y F representando las
cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente,
porque no hay dgitos mayores que 9 en el sistema decimal. El
valor de cada uno de estos smbolos depende, como es lgico, de
su posicin, que se calcula mediante potencias de base 16.
Calculemos, a modo de ejemplo, el valor del nmero
hexadecimal 1A3F16:
1A3F16 = 1*163 + A*162 + 3*161 + F*160
1*4096 + 10*256 + 3*16 + 15*1 = 6719
1A3F16 = 671910
Ejercicio 7:
Expresa en el sistema decimal las siguientes cifras
hexadecimales: 2BC5 , 100 , 1FF
16

16

16

Ensayemos, utilizando la tcnica habitual de divisiones sucesivas,


la conversin de un nmero decimal a hexadecimal. Por ejemplo,
para convertir a hexadecimal del nmero 173510 ser necesario
hacer las siguientes divisiones:

1735 : 16 = 108

Resto: 7

108 : 16 = 6

Resto: C es decir, 1210

6 : 16 = 0

Resto: 6

De ah que, tomando los restos en orden inverso, resolvemos el


nmero en hexadecimal:
173510 = 6C716
Ejercicio 8:
Convierte al sistema hexadecimal los siguientes
nmeros decimales: 351910, 102410, 409510

6.

Conversin de nmeros binarios a octales


y viceversa

Observa la tabla siguiente, con los siete primeros nmeros


expresados en los sistemas decimal, binario y octal:
DECIMAL BINARIO OCTAL
0

000

001

010

011

100

101

DECIMAL BINARIO OCTAL


6

110

111

Cada dgito de un nmero octal se representa con tres dgitos en el


sistema binario. Por tanto, el modo de convertir un nmero entre
estos sistemas de numeracin equivale a "expandir" cada dgito
octal a tres dgitos binarios, o en "contraer" grupos de tres
caracteres binarios a su correspondiente dgito octal.
Por ejemplo, para convertir el nmero binario 1010010112 a octal
tomaremos grupos de tres bits y los sustituiremos por su
equivalente octal:
1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138
Ejercicio 9:
Convierte los siguientes nmeros binarios en
octales: 11011012, 1011102, 110110112, 1011010112

La conversin de nmeros octales a binarios se hace, siguiendo el


mismo mtodo, reemplazando cada dgito octal por los tres bits
equivalentes. Por ejemplo, para convertir el nmero octal 7508 a
binario, tomaremos el equivalente binario de cada uno de sus
dgitos:
78 = 1112

58 = 1012
08 = 0002
y, por tanto: 7508 = 1111010002
Ejercicio 10:
Convierte los siguientes nmeros octales en
binarios: 258, 3728, 27538

7.

Conversin de nmeros binarios a


hexadecimales y viceversa

Del mismo modo que hallamos la correspondencia entre nmeros


octales y binarios, podemos establecer una equivalencia directa
entre cada dgito hexadecimal y cuatro dgitos binarios, como se ve
en la siguiente tabla:

DECIMAL

BINARIO

HEXADECIMAL

0000

0001

0010

0011

0100

0101

0110

DECIMAL

BINARIO

HEXADECIMAL

0111

1000

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

La conversin entre nmeros hexadecimales y binarios se realiza


"expandiendo" o "contrayendo" cada dgito hexadecimal a cuatro
dgitos binarios. Por ejemplo, para expresar en hexadecimal el
nmero binario 1010011100112bastar con tomar grupos de
cuatro bits, empezando por la derecha, y reemplazarlos por su
equivalente hexadecimal:
10102 = A16
01112 = 716
00112 = 316
y, por tanto: 1010011100112 = A7316
En caso de que los dgitos binarios no formen grupos completos de
cuatro dgitos, se deben aadir ceros a la izquierda hasta
completar el ltimo grupo. Por ejemplo:

1011102 = 001011102 = 2E16


Ejercicio 11:
Convierte a hexadecimales los siguientes nmeros
binarios:
10101001010111010102, 1110000111100002,
10100001110101112

La conversin de nmeros hexadecimales a binarios se hace del


mismo modo, reemplazando cada dgito hexadecimal por los
cuatro bits equivalentes de la tabla. Para convertir a binario, por
ejemplo, el nmero hexadecimal 1F616hallaremos en la tabla las
siguientes equivalencias:
116 = 00012
F16 = 11112
616 = 01102
y, por tanto: 1F616 = 0001111101102
Ejercicio 12:
Convierte a binario los nmeros hexadecimales
siguientes: 7A5D , 1010 , 8F8F
16

16

16

ARITMTICA BINARIA
Operaciones elementales con nmeros
binarios
Suma de nmeros binarios
Resta de nmeros binarios

Complemento a dos

Complemento a uno

Restar con el complemento a dos

Multiplicar nmeros binarios


Dividir nmeros binarios

La Unidad Aritmtico Lgica, en la CPU del procesador, es capaz de


realizar operaciones aritmticas, con datos numricos expresados en el
sistema binario. Naturalmente, esas operaciones incluyen la adicin, la
sustraccin, el producto y la divisin. Las operaciones se hacen del mismo
modo que en el sistema decimal, pero debido a la sencillez del sistema de
numeracin, pueden hacerse algunas simplificaciones que facilitan mucho
la realizacin de las operaciones.

Suma en binario
Para aprender a sumar, con cinco o seis aos de edad, tuviste que
memorizar las 100 combinaciones posibles que pueden darse al sumar dos
dgitos decimales. La tabla de sumar, en binario, es mucho ms sencilla
que en decimal. Slo hay que recordar cuatro combinaciones posibles:

0+1

Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes:


0+0=0
0+1=1
1+0=1
Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe
escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra

una unidad, que se suma a la posicin siguiente a la izquierda. Veamos


algunos ejemplos:
010 + 101 = 111 210 + 510 = 710
001101 + 100101 = 110010 1310 + 3710 = 5010
1011011 + 1011010 = 10110101 9110 + 9010 = 18110
110111011 + 100111011 = 1011110110 44310 + 31510 = 75810

Ejercicio 1:
Realiza las siguientes sumas de nmeros binarios:

111011 + 110
111110111 + 111001
10111 + 11011 + 10111

Sustraccin en binario
La tcnica de la resta en binario es, nuevamente, igual que la misma
operacin en el sistema decimal. Pero conviene repasar la operacin de
restar en decimal para comprender la operacin binaria, que es ms
sencilla. Los trminos que intervienen en la resta se
llaman minuendo, sustraendo y diferencia.

1+1

Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes:


00=0
10=1
11=0
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una
unidad prestada de la posicin siguiente: 10 - 1, es decir, 210 110 = 1. Esa
unidad prestada debe devolverse, sumndola, a la posicin siguiente.
Veamos algunos ejemplos:
111 101 = 010 710 510 = 210
10001 01010 = 00111 1710 1010 = 710
11011001 10101011 = 00101110 21710 17110 = 4610
111101001 101101101 = 001111100 48910 36510 = 12410

Ejercicio 2:
Realiza las siguientes restas de nmeros binarios y
comprueba los resultados convirtindolos al sistema
decimal:

111011 - 110
111110111 - 111001
1010111 - 11011 10011
A pesar de lo sencillo que es el procedimiento de restar, es facil
confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido
a restar mecnicamente, sin detenernos a pensar en el significado del
arrastre. Para simplificar las restas y reducir la posibilidad de cometer
errores hay varias soluciones:

Dividir los nmeros largos en grupos. En el siguiente ejemplo,


vemos cmo se divide una resta larga en tres restas cortas:

i.

100110011101

1001

1001

1101

010101110010

0101

0111

0010

010000101011

0100

0010

1011

Calculando el complemento a dos del sustraendo

Complemento a dos
El complemento a dos de un nmero
define como:

N, compuesto por n bits, se

C2N = 2n N
Veamos un ejemplo: tomemos el nmero N = 1011012, que tiene 6 bits, y
calculemos su complemento a dos:

N = 4510

n=6

26 = 64

y, por tanto: C2N = 64 45 = 19 =


0100112

Ejercicio 3:
Calcula el complemento a dos de los siguientes
nmeros:

11001, 10001011, 110011010


ii.

Complemento a uno

El complemento a uno de un nmero

N, compuesto por n bits es, por

definicin, una unidad menor que el complemento a dos, es decir:

C1N = C2N - 1
y, por la misma razn:

C2N = C1N + 1

Calculemos el complemento a uno del mismo nmero del ejemplo


anterior:
siendo N = 101101, y su complemento a dos C2N = 010011

C1N = C2N 1 = 010011 000001 = 010010


C1N = 010010
Da la sensacin de que calcular el complemento a uno no es ms que una
forma elegante de comlicarse la vida, y que no va a ser ms sencillo restar
utilizando el complemento a dos, porque el procedimiento para calcular el
complemento a dos es ms difcil y laborioso que la propia resta. Pero es
mucho ms sencillo de lo que parece.
En realidad, el complemento a uno de un nmero binario es el nmero
resultante de invertir los UNOS y CEROS de dicho nmero. Por ejemplo si:

N = 110100101
obtenemos su complemento a uno invirtiendo ceros y unos, con lo que
resulta:

C1N = 001011010
y su complemento a dos es:

C2N = C1N + 1 = 001011011


es muy fcil!
Veamos otro ejemplo de clculo de complementos. Sea:

N = 0110110101
El complemento a uno es:

C1N = 1001001010
y el complemento a dos es:

C2N = 1001001011
iii.

Restar en binario usando el complemento a dos

Y, por fin, vamos a ver cmo facilita la resta el complemento. La resta


binaria de dos nmeros puede obtenerse sumando al minuendo el
complemento a dos del sustraendo. Veamos algunos ejemplos:

Primer ejemplo:

Hagamos la siguiente resta, 91 46 = 45, en binario:


1011011 0101110 = 0101101
Tiene alguna dificultad, cuando se acumulan los arrastres a la resta
siguiente. Pero esta misma resta puede hacerse como una suma,
utilizando el complemento a dos del sustraendo:

1011011 + 1010010 = 0101101


En el resultado de la suma nos sobra un bit, que se desborda por la
izquierda. Pero, como el nmero resultante no puede ser ms largo que el
minuendo, el bit sobrante se desprecia.

Segundo ejemplo:
Hagamos esta otra resta, 219 23 = 196, utilizando el complemento a
dos:

21910 = 110110112,
2310 = 000101112
C223 = 11101001
El resultado de la resta ser:

111000100

11011011 + 11101001 =

Y, despreciando el bit que se desborda por la izquierda, llegamos al


resultado correcto:

110001002 = 19610
Qu fcil!

Ejercicio 4:
Haz las siguientes restas binarias utilizando la tcnica
del complemento a dos. Al terminar, comprueba los
resultados haciendo la resta en el sistema decimal:

11010001101 1000111101
10110011101 - 1110101

Multiplicacin binaria
La multiplicacin en binario es ms fcil que en cualquier otro sistema de
numeracin. Como los factores de la multiplicacin slo pueden ser
CEROS o UNOS, el producto slo puede ser CERO o UNO. En otras
palabras, las tablas de multiplicar del cero y del uno son muy fciles de
aprender:

En un ordenador, sin embargo, la operacin de multiplicar se realiza


mediante sumas repetidas. Eso crea algunos problemas en la
programacin porque cada suma de dos UNOS origina un arrastre, que se
resuelven contando el nmero de UNOS y de arrastres en cada columna.
Si el nmero de UNOS es par, la suma es un CERO y si es impar, un UNO.
Luego, para determinar los arrastres a la posicin superior, se cuentan las
parejas de UNOS.
Veamos, por ejemplo, una multiplicacin:

Para comprobar que el resultado es correcto, convertimos los factores y el


resultado al sistema decimal:

3349 * 13 = 43537
correcto!

Ejercicio 5:
Haz las siguientes multiplicaciones binarias. Al
terminar, comprueba los resultados haciendo las
multiplicaciones en el sistema decimal:

10110101000101 x 1011
10100001111011 x 10011

Divisin binaria
Igual que en el producto, la divisin es muy fcil de realizar, porque no son
posibles en el cociente otras cifras que UNOS y CEROS.
Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:

Se intenta dividir el dividendo por el divisor, empezando por tomar en


ambos el mismo nmero de cifras (100 entre 110, en el ejemplo). Si no
puede dividirse, se intenta la divisin tomando un dgito ms (1001 entre
100).
Si la divisin es posible, entonces, el divisor slo podr estar
contenido una vez en el dividendo, es decir, la primera cifra del cociente es
un UNO. En ese caso, el resultado de multiplicar el divisor por 1 es el
propio divisor. Restamos las cifras del dividendo del divisor y bajamos la
cifra siguiente.
El procedimiento de divisin contina del mismo modo que en el sistema
decimal.

Ejercicio 5:
Haz las siguientes divisiones binarias. Al terminar,
comprueba los resultados haciendo las divisiones en el
sistema decimal:

10110101000101 : 1011

10100001111011 : 10011

Luis Gonzlez
Profesor de Tecnologas de la Informacin
I.E.S. Santa Eugenia (Madrid)

EJERCICIOS adicionales
1. Realiza las siguientes sumas de nmeros octales:
365 + 23
2732 + 1265
65 + 1773

2. Suma los siguientes nmeros hexadecimales:


17A + 3C
20F5 + 31B
2E70C + 1AA7F

3. Resta los siguientes nmeros octales:


365 - 23
2732 - 1265
1773 65

4. Realiza las siguientes restas de nmeros hexadecimales:


17A - 3C
20F5 - 31B
2E70C 1AA7F

Das könnte Ihnen auch gefallen