Home

      Comment post English
x

Select your language

EnglishEspañol

Cómo funciona el sistema de numeración binario


12 people like this


El sistema de numeración binario a diferencia del decimal, que utiliza 10 dígitos para formar todos los números, tan sólo necesita dos dígitos para representar esos mismos valores, el 1 y el 0. Pero antes de comenzar a estudiar el sistema binario, veamos cómo se forman los números en el sistema de numeración decimal, lo cual nos ayudará a comprender mejor la estructura del binario.
 
Los seres humanos utilizan la numeración decimal; se piensa que el motivo que facilitó la aplicación de dicho sistema es que tienen diez dedos en las manos, los cuales se utilizaban para realizar cálculos. Para representar todos los números del sistema decimal se utilizan diez dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); y es algo que los humanos ya tienen incorporado en sus vidas.
 
Cuando se aprenden los números en la escuela, una de las primeras cosas que nos enseñan es que en el sistema decimal los números se dividen en columnas que contienen a cada dígito que los compone. Dichas columnas que forman la estructura del número son unidades, decenas, centenas, unidades de mil, etc. Por ejemplo para separar 4434 en distintas columnas debemos hacer lo siguiente:

UNIDADES DE MIL CENTENAS DECENAS UNIDADES
4 4 3 4

 
Lo cual equivale a:
 
4 unidades de mil + 4 centenas + 3 decenas + 4 unidades
 
  = (4 x 1.000) + (4 x 100) + (3 x 30) + (4 x 1)
 
  = 4.000 + 400 + 30 + 4
 
  = 4.434
 
Años más tarde, aprendimos que las columnas representaban potencias de 10, o sea 10x. Todo número multiplicado por sí mismo una cierta cantidad de veces es una potencia. Por lo tanto la columna de las unidades es igual a 100 (todo número elevado a la 0 siempre da como resultado 1); la columna de las decenas es igual a 101; la columna de las centenas es igual a 102; la columna de las unidades de mil es igual a 103; etc.

 
100 da como resultado 1 (todo número elevado a la 0 siempre da como resultado 1)
101 da como resultado 10
102 da como resultado 100, (ya que 10 x 10 = 100)
103 da como resultado 1000, (ya que 10 x 10 x 10 = 1000)
104 da como resultado 10000, (ya que 10 x 10 x 10 x 10 = 10000)
 

Y así se sigue con cada potencia de 10 agregando un cero. Por lo tanto para formar cualquier número decimal se debe multiplicar el dígito de cada columna del número por la potencia de 10 correspondiente a su columna y luego sumar todos los productos.

Por ejemplo para formar el número 445.425:

 (4 x 105) + (4 x 104) + (5 x 103) + (4 x 102) + (2 x 101) + (5 x 100) 

 = (4 x 100.000) + (4 x 10.000) + (5 x 1.000) + (4 x 100) + (2 x 10) + (5 x 1)

 = 400.000 + 40.000 + 5.000 + 400 + 20 + 5 = 445.425

 
De esta manera se pueden formar todos los números, multiplicando uno de los diez dígitos del sistema decimal por la potencia de 10 correspondiente y a continuación sumando sus productos
(se denomina productos a los resultados de multiplicaciones).
 
El sistema binario funciona exactamente de la misma manera, sólo que en lugar de 10 dígitos, se utilizan 2 dígitos para formar todos los números (1 y 0).
 
Por lo tanto, ya que en lugar de poder haber uno de 10 posibles dígitos en cada columna que compone el número, solamente puede haber uno de 2 posibles dígitos, y en vez de multiplicar el dígito de cada columna por una potencia de 10, se multiplica por una potencia de 2.
 
A continuación se muestran algunas potencias de 2:
 
20 da como resultado 1 (todo número elevado a la 0 siempre da como resultado 1)
21 da como resultado 2
22 da como resultado 4
23 da como resultado 8
24 da como resultado 16
25 da como resultado 32
26 da como resultado 64
27 da como resultado 128
28 da como resultado 256
29 da como resultado 512
210 da como resultado 1024
 
Por ejemplo el número 21 en binario se escribe así: 10101
 
Separado en columnas de dígitos:
 

24 23 22 21 20
1 0 1 0 1

 

Para formar cualquier número binario se debe multiplicar el dígito de cada columna del número por la potencia de 2 correspondiente a su columna y luego sumar todos los productos. 

Por lo tanto el número binario 10101, el cual equivale a 21 en sistema de numeración decimal, se forma de la siguiente manera:

 (1 x 24) + (0 x 23) + (1 x 22) + (0 x 21) + (1 x 20) 

 = (1 x 16) + (0 x 8) + (1 x 4) + (0 x 2) + (1 x 1)
 
 = 16 + 0 + 4 + 0 + 1 = 21
 
 = 1 0 1 0 1 (se lee o pronuncia: uno, cero, uno, cero, uno).
 
 
En los números binarios cada columna con valor distinto a 0 se representa con un 1, mientras que cada una de valor 0 con un 0. 

Igual que en el sistema decimal, los exponentes de las potencias van aumentando de derecha a izquierda.
 
Veamos algunos otros ejemplos:
 
Transformemos el número binario 111110100000 a decimal:
 

(1 x 211) + (1 x 210) + (1 x 29) + (1 x 28) + (1 x 27) + (1 x 26) + (1 x 25) + (1 x 24) + (1 x 23) + (1 x 22) + (1 x 21) + (1 x 20) 

= (1 x 2048) + (1 x 1024) + (1 x 512) + (1 x 256) + (1 x 128) + (0 x 64) + (1 x 32) + (0 x 16) + (0 x 8) + (0 x 4) + (0 x 2) + (0 x 1)

= 2048 + 1024 + 512 + 256 + 128 + 0 + 32 + 0 + 0 + 0+ 0+ 0= 4000
 
Por lo tanto el número binario
111110100000 equivale al número decimal 4000.
 
 
Ahora vamos a transformar el número binario 11110:
 
(1 x 24) + (1 x 23) + (1 x 22) + (1 x 21) + (0 x 20) 
 
= (1 x 16) + (1 x 8) + (1 x 4) + (1 x 2) + (0 x 1)
 
= 16 + 8 + 4+ 2+ 0 = 30
 
El número binario 11110 equivale al número decimal 30.
 
-------------------------------------------------------------------------------------------------------------------------
 

Suma de números binarios

 
Antes de comenzar a sumar números binarios vamos a analizar la metodología aplicada en la suma de números decimales.
 
Realicemos la siguiente suma:

     
  2 7
+ 2 5
-------
     

Se comienza sumando en la columna de las unidades 7 + 5, lo cual da como resultado un 12, un número superior al permitido por columna; ya que se trata del sistema decimal y tan sólo se puede utilizar uno de los 10 dígitos por cada columna. Puesto que es imposible poner el número 12 en una columna, el dígito adicional debe ser transferido a la columna siguiente de la izquierda. Por lo tanto en este ejemplo el 1 del 12 deber ser guardado y transferido a la columna de las decenas para ser sumado a (2 + 2) de dicha columna; dejando el 2 del resultado de 7 + 5 = 12 en la columna de las unidades. De esta manera conservamos un dígito por columna.
 

  1  << Dígito transferido a la columna de decenas 
  2 7
+ 2 5
---------
  5 2

 
La suma de números binarios funciona de la misma manera; sólo que en lugar de tener diez dígitos, se tienen dos (1 y 0), por lo que cualquier resultado mayor a 1 en una columna requiere la transferencia de un dígito a la siguiente columna de la izquierda.
 
Primero comencemos con sumas de números de un sólo dígito:

                               
  1        0       0         1  
+ 0     + 1     + 0       + 1  
-------   -------   -------     -------
  1       1       0       1 0  

 
Como se puede notar de las sumas anteriores, las tres primeras se comportan de la misma manera que en el sistema decimal; sin embargo en la cuarta, en la que se suman 1 + 1; dado que se trata del sistema binario; en el que solamente hay dos dígitos (1 y 0); y que el resultado es igual a 10 (el equivalente binario del 2 decimal); como no se puede tener más de un dígito por columna, hay que transferir el 1 del 10 (se lee uno cero) a su siguiente columna de la izquierda.
 
Entonces, 1 + 1 =

  1  << Dígito transferido a la columna de la izquierda
  0 1
+ 0 1
---------
  1 0

 

En el sistema binario, a partir del número 2 (10 en binario) se requiere más de un dígito para representar todos los números, así como en el sistema decimal a partir del 10 (diez) también se requiere más de un dígito ya que no cuenta con más de diez de ellos.
 
Para sumar números binarios hay que recordar las cuatro sumas de dígitos individuales:
 
1 + 0 = 1
0 + 1 = 1
0 + 0 = 0
1 + 1 = 10
 
El proceso para sumar número binarios de múltiples dígitos es el mismo.
 
Realicemos la siguiente suma:

           
  1 0 1 0 0
+ 1 1 0 0 0
---------------

 

  1. Columna 20 (la de la derecha): Sumamos 0 + 0 = 0. Escribimos 0 y obtenemos el resultado temporal 0. Pasamos a la siguiente columna.
  2. Columna 21: Sumamos 0 + 0 = 0. Escribimos 0 y obtenemos el resultado temporal 00. Pasamos a la siguiente columna.
  3. Columna 22: Sumamos 1 + 0 = 1. Escribimos 1 y obtenemos el resultado temporal 100. Pasamos a la siguiente columna.
  4. Columna 23: Sumamos 0 + 1 = 1. Escribimos 1 y obtenemos el resultado temporal 1100. Pasamos a la siguiente columna.
  5. Columna 24: Sumamos 1 + 1 = 10. Dado que no se puede tener más de un dígito por columna, escribimos 0, obtenemos el resultado temporal 01100; guardamos el 1 que sobra de 10 y lo colocamos en la siguiente columna de la izquierda, la 25.

  

  1           << Dígito transferido a la columna de la izquierda
    1 0 1 0 0  
+   1 1 0 0 0  
-------------------
  1 0 1 1 0 0  

 
 
Pueden chequear si el resultado es correcto de varias maneras. Uno es convirtiendo cada uno de los tres números a decimal y realizando la suma en dicho sistema.
 
Así: 10100 (binario) equivale a 20 (decimal); 11000 (binario) equivale a 24 (decimal); y 101100 (binario) equivale a 44 (decimal).


20 + 24 = 44

También se puede chequear con la calculadora de Windows; ya que permite realizar conversiones de un sistema de numeración a otro rápidamente así como realizar operaciones matemáticas en sistema binario. Para ejecutarla hay que seleccionar la carpeta Accesorios del menú de Inicio, donde se encuentra, entre otros, el acceso directo a la calculadora. En la misma se puede escribir un número cualquiera en uno de los sistemas de numeración (decimal, binario, hexadecimal) el cual puede ser convertido simplemente seleccionando uno de los otros sistemas de numeración. De esta manera, si se escribe el número 4.000.000 en decimal y luego se presiona "Bin", el mismo será transformado a binario. En Windows 7, hay varios formatos de calculadora; para poder transformar números de un sistema a otro, hay que seleccionar del menú Ver de la calculadora, la opción Programador, modificando así el tablero de la misma.
 
 
Veamos algunas otras sumas:
 
1010 + 1100 =
 

  1         << Dígito transferido a la columna de la izquierda
    1 0 1 0  
+   1 1 0 0  
----------------
  1 0 1 1 0  

 

Si chequeamos la suma en sistema decimal:
 
1010 = 10
1100
= 12
 
de:
 
10 + 12 = 22
 
Corroboramos que la suma es correcta, ya que 22 en binario es 10110.
 
---------------------------------------------------------------------------------------------------------------------------

101001110011000 + 100111000100000 =
 

  1     1 1 1                     << Dígito transferido a la columna de la izquierda
    1 0 1 0 0 1 1 1 0
0 1 1 0 0 0  
+   1 0 0 1 1 1 0 0 0 1 0 0 0 0 0  
--------------------------------------------
  1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0  

 

Si chequeamos la suma en sistema decimal:

101001110011000 = 21.400
100111000100000
= 20.000
 
de:
 
21.400 + 20.000 = 41.400
 
Corroboramos que la suma es correcta, ya que 41.400 en binario es 1010000110111000.
 
---------------------------------------------------------------------------------------------------------------------------
 
Esta vez vamos a sumar tres números binarios:
 
101010111110000 + 10111011100000 + 100111000100000 =

        1 1                       << Segundo dígito transferido a la columna de la izquierda
  1 1 1 1 1 1 1 1 1
1             << Dígito transferido a la columna de la izquierda
    1 0 1 0 1 0 1 1 1
1 1 0 0 0 0  
+     1 0 1 1 1 0 1 1 1 0 0 0 0 0  
    1 0 0 1 1 1 0 0 0 1 0 0 0 0 0  
--------------------------------------------
  1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0  

 

  • En las primeras cuatro columnas los tres números tienen 0, por lo tanto dan como resultado parcial 0000.
  • En la quinta columna o columna de 24 tenemos 1+0+0; primero sumamos 1 + 0 lo que nos da como resultado 1, a dicho resultado luego se le suma el 0 del tercer número; el cual sigue dando como resultado 1, ya que 1 + 0 es igual a 1.
  • Ya en la columna de 25 las cosas se complican un poco, ya que tenemos que sumar 1+1+1. Primero sumamos los dos primeros 1, lo que nos da como resultado 10, por lo que tenemos que transferir un 1 a la siguiente columna, dejando el 0 en la actual columna. A dicho 0 le debemos sumar un 1 del tercer número, lo que nos deja como resultado de la columna un 1, ya que 0 + 1 es igual a 1. Por ahora el resultado parcial de la suma de los tres números es 110000.
  • En la columna de 26 recordemos que transferimos el 1 del resultado 10 de la columna anterior (en la operación está marcado de color rojo). Dicho 1 transferido hace que tengamos que sumar 1+1+1+0. Así comenzamos sumando los dos primeros 1, dando como resultado parcial 10; transferimos el 1 a la columna siguiente y nos quedamos con el 0; a ese 0 le sumamos el 1 del segundo número y obtenemos como resultado 1, ya que 0+1 es igual a 1. Finalmente a ese 1 le sumamos el 0 del tercer número, lo que mantiene un 1 como resultado ya que 1+0 es igual a 1. Resultado parcial 1110000.
  • Las siguiente tres columnas no requieren explicación ya que se supone que deben saber sumarlas. Sin embargo en la columna de posición número 11 o columna 210, tras transferir un 1 del resultado de la columna anterior, nos encontramos con cuatro 1 para sumar, o sea 1+1+1+1. Para resolver esta parte de la operación, comenzaremos sumando los primeros 1+1, dando como resultado un 10; transferimos normalmente un 1 a la columna siguiente y a continuación sumamos el 0 del resultado con el 1 del segundo número; así obtenemos un 1, ya que 0+1 es igual a 1. Finalmente sumamos el 1 del resultado anterior con el 1 del tercer número lo que nos deja nuevamente otro 10, a cuyo 1 también transferimos a la siguiente columna, colocándolo por encima del otro 1 transferido. Eso nos deja entonces en la columna 211 o columna de posición número 12, con 1+1+0+1+1. Se supone que el resto podrán hacerlo sin necesidad de explicación.

 
Si quieren chequear la suma simplemente conviertan cada número a decimal o corroboren el cálculo con la calculadora de Windows. Aquí convertiremos cada número a decimal y chequearemos la operación sumando los números en sus equivalentes decimales.
 
101010111110000 = 22.000
10111011100000 = 12.000
100111000100000
= 20.000
 
de: 22.000 + 12.000 + 20.000 = 54.000
 
Corroboramos que la suma es correcta, ya que 54.000 en binario es 1101001011110000.
 
---------------------------------------------------------------------------------------------------------------------------
 

Restas con números binarios

 
Las restas con números binarios son muy similares a las restas con números decimales. Antes de comenzar recordemos el proceso de restar dos números decimales:
 
Vamos a realizar la siguiente resta:
 

  2 1 1
- 1 5 6
----------

 

      10   << Al quedar en 0, le toma una decena al 2 de la columna izquierda (centenas) convirtiéndose en 10
    1 0 11 << Se suman 10 de la columna de la izquierda, y al número que presta la decena se le resta una unidad
    2 1 1  
-   1 5 6  
--------------
    0 5 5  

El proceso es simple:

  • Como en toda operación primero comenzamos con la columna de la derecha (unidades), en la cual el número de arriba (1) es menor al de abajo (6), por eso se toma "prestada" una decena del número de la columna de la izquierda y se le suma 10 a 1, obteniendo un 11; ese "préstamo" a su vez le resta un 1 al dígito de la columna de las decenas. Ahora que el número de arriba es mayor en la columna de unidades, realizamos la resta 11-6 la cual da como resultado parcial de la operación un 5.
  • Ahora en la columna de las decenas, dado el préstamo de 10 unidades realizado a la columna de la derecha, el 1 se convirtió en 0. Pero como el dígito de abajo es un 5, por lo tanto mayor; debemos pedir "prestada" una decena del 2 de la columna de las centenas; sumando así 10 a 0, lo que nos da un 10.
  • Realizamos entonces la resta 10-5, con lo que obtenemos un 5 y como resultado parcial de la operación un 55.
  • Pasamos a la columna de las centenas; donde dado el préstamo de una decena por parte del 2, dicho dígito se convirtió en un 1. Restamos así 1-1, obteniendo un 0 y como resultado final de la operación 055, que es igual a 55.

 
Con los números binarios el proceso de restas es similar; el número mayor (también llamado minuendo) se coloca arriba y se le resta el menor (también conocido como sustraendo); si en alguna columna el dígito de abajo es más grande que el de arriba, se toma prestado un 1 ya sea de la columna siguiente de la izquierda o la más cercana, sólo que en lugar de sumar 10 (diez) como en sistema decimal, se suma 2 (10 - uno cero en binario), ya que se trata del sistema binario, que utiliza dos dígitos en lugar de diez.
 
Así:
 
1 - 0 = 1
0 - 0 = 0
1 - 1 = 0
0 - 1 = ?

Pero el 0 de 0 - 1 debe pedir prestado un 1 de la columna hacia la izquierda más cercana, convirtiéndose en un 10 (equivalente a un 2 decimal).
 
Por lo que:
 
0 - 1 se vuelve 10 - 1
 
Entonces:
 
10 - 1 = 1 (ya que en decimal 2 - 1 = 1)
 
 
Veamos algunas restas con números binarios:
 
 
1011011 − 10010 = 1001001
 

  1
0 1 1 0 1 1  
-     1 0 0 1 0  
-------------------------
  1 0 0 1 0 0 1  

 
-------------------------------------------------------------------------
 

1010110 − 101010 = 101100

                 
  0  10 0  10        
  1
0 1 0

0
 
-   1 0 1 0 1 0  
----------------------------------
  0 1 0 1 1
0 0  

 
-------------------------------------------------------------------------
 

1000101 − 101100 = 11001
 

     1  1          
  0  10 10  10        
  1
0 0 0

1
 
-   1 0 1 1 0 0  
----------------------------------
  0 0 1 1 0
0 1  

 
En nuestro ejemplo anterior, en la cuarta columna (también llamada columna 23) nos encontramos con una resta de 0 - 1, por lo que hay que pedirle "prestado" un 1 a la columna más cercana que lo tenga disponible. Dado que la columna vecina (24) tiene un 0, seguimos buscando en la próxima, la cual también tiene un 0; hasta llegar a la columna 26que tiene un 1. Dicho 1 pasa a la columna 25, convirtiendo al 0 en 10, el cual por su parte se convierte en 1 cuando le presta a la columna 24 el 1 del 10 (dado que en binario 10 - 1 es igual a 1 - en decimal sería 2 - 1). Así el 0 de 24se convierte en 10, pero también le presta al 0 de la columna 23 el 1 que adquirió, volviéndose un 1 (ya que 10 - 1 = 1). Finalmente el 0 de la columna 23logra conseguir el 1 que lo convierte en 10, pudiendo así realizarse la resta 10-1. Las demás columnas ya no requieren tanta descripción.

-------------------------------------------------------------------------
 
100010110 − 1111010 = 10011100
 

    1  1 1 10        
   0 10 10 10 0 10      
  1 
0
0
0 1 0 1 0
-     1 1 1 1 0  0
---------------------------------------
  0
1 0  0 1 1 1 0 0

 

-------------------------------------------------------------------------

1110110 − 1010111 = 11111
 

          10 1 10 10  
        0 0 10 0 0 10
   

1
1 1 0 1 1 0
-     1 0 1 0 1 1 1
----------------------------------
   
  0  0 1 1 1 1 1

 

Hasta ahora hemos aprendido a restar números más pequeños de números mayores. Pero qué pasaría si queremos restar un número mayor de un número menor; cómo sería el caso en el sistema decimal de una sustracción como 10 - 50, la cual daría como resultado un número negativo. Este tipo de restas son un poco más complicadas y requieren que sepamos representar números negativos en sistema binario. Todo eso lo analizaremos a continuación en la siguiente sección.
 
 

Números negativos binarios y resta de números binarios complemento a dos

 
En las sustracciones anteriores el valor de arriba (minuendo) siempre era superior al de abajo (sustraendo); pero qué pasaría si trabajamos en operaciones binarias donde el número de arriba es menor, dando como resultado un número negativo; y además dado que el método común de sustracciones explicado anteriormente es muy difícil de aplicar en circuitos electrónicos (con seguridad el tipo de tecnología que más utiliza la numeración binaria); la solución se encuentra en la aplicación de otro sistema de resolución de restas.
 
Antes veamos un ejemplo de resta con números decimales en la que el resultado es un número negativo, por ejemplo 100 - 500:
 
Un simple método de resolución de sustracciones de ese estilo es dar vuelta los valores, por lo que tendríamos que restar 500-100 y agregarle a ese resultado el signo negativo, por lo tanto obteniendo como resultado de 100 - 500 = -400. También es importante recordar que una resta como 100 - 500 es también igual a 100 + (-500). O sea que en realidad toda sustracción equivale a la adición de números negativos a otros valores. Ustedes dirán, entonces es muy fácil; sí, con los números decimales lo es, sin embargo con los números binarios el método a aplicar es algo más complicado, pero aún fácil de utilizar.
 
Antes hay que saber cómo se representan los números negativos en sistema binario. Primero, cada vez que se trabaja con números binarios negativos o se van a realizar restas de números binarios utilizando el método que estudiaremos a continuación (llamado complemento a dos), hay que saber cuántos dígitos tienen los número binarios con los que operaremos. Por lo que si el número con más dígitos tiene una n cantidad de ellos, la menor cantidad de dígitos con la que deberemos operar es de n.
 
La razón de tener que conocer la cantidad de dígitos de los números es que para diferenciar números negativos de positivos en sistema binario, en lugar de utilizar un signo "menos" (-) como en sistema decimal, se agrega un dígito adicional a la izquierda, que si es un 0 significa que se trata de un número positivo, mientras que si es un 1 significa que es un número negativo.

Supongamos que queremos representar números binarios positivos y negativos utilizando un máximo de cuatro dígitos, el dígito de la izquierda (también llamado dígito más significativo) será utilizado para indicar con un 0 si se trata de un número positivo o con un 1 si se trata de un número negativo:
 
1010 = -2
1001 = -1
1000 = -0
0000 = +0
0001 = +1
0010 = +2
 
Sin embargo utilizar este método de representación de números con signo complica la realización de operaciones matemáticas como las restas; además tiene dos 0 (negativo "1000" y positivo "0000"), lo que lo hace poco práctico a la hora de diseñar circuitos electrónicos (ya que se trata de la actividad que más aplica el sistema de numeración binario); por eso se prefiere otra técnica para representar los números negativos binarios, llamada complemento a dos; la cual analizaremos a continuación.
 
El método de complementos para representar números negativos es además muy útil para simplificar el proceso de sustracciones de números haciendo simplemente sumas de números positivos. La técnica de complementos puede ser utilizada en cualquier sistema de numeración, llamándose entonces método de complemento a diez si se trata del sistema decimal, complemento a dos si se trata del sistema binario, y así se sigue de la misma manera con otros sistemas de numeración.
 
Para utilizar dicha técnica hay que trabajar con una cantidad máxima fija de dígitos en cada número, que es por lo menos la del número con más dígitos en la operación. Si por ejemplo el número con más dígitos en la operación tiene cinco dígitos, cada uno de los demás números de la operación también tendrán que tener por lo menos cinco dígitos. Todos los números tienen que tener la misma cantidad de dígitos para poder realizar las operaciones y obtener resultados correctos.
 
Si tenemos la siguiente operación de números binarios:
 
11001 - 101 =
 
Dado que el minuendo (11001) tiene cinco dígitos y el sustraendo (101) tiene solamente tres dígitos, deberemos agregar dos más (de valor neutro o 0) a este último para que se igualen las cantidades de dígitos de ambos números. Así se le agregan dos 0 a la izquierda a 101, quedando la misma operación de sustracción del ejemplo de la siguiente manera: 11001 - 00101 =
 
Todo tipo de resta del tipo x - y equivale a x + (-y); o sea que restarle y a x es igual a sumarle a x un número negativo -y.
 
Supongamos que trabajando en un sistema de numeración de raiz b tenemos dos números x e y de n dígitos cada uno, y queremos realizar la siguiente resta:
 
x - y
 
La cual es igual a x + (-y).
 
Por lo tanto deberemos pasar y a negativo. Para hacer eso se aplica el método de complementos (en este ejemplo complemento a b, ya que estamos trabajando en un sistema de numeración de raiz b). Se trata de un método en el que para representar el negativo de un valor y se utiliza el complemento necesario de dicho número para llegar a bn, o sea el valor máximo que se puede representar con una cierta cantidad de dígitos más 1. Para que se entienda mejor, la cantidad de números que faltan desde el valor y que queremos convertir en negativo, para llegar al valor máximo posible que se puede representar con n dígitos, más 1.

Por ejemplo en el sistema decimal si utilizamos 2 dígitos en cada número, la cantidad de valores que se pueden representar es 102, o sea de 0 a (102 - 1) o lo que sería de 0 a 99. Si queremos encontrar el complemento a diez del número 45, debemos aplicar la fórmula bn - y; que en el ejemplo sería 102 - 45 = 55; ya que n (cantidad de dígitos) es 2 e y es 45. O sea que complemento a diez de 45 es 55; en otras palabras son 55 los números que separan a 45 de 102; o 100.

Pero se preguntarán, qué utilidad tiene buscar el complemento de un número. La principal utilidad es la de simplificar el proceso de restas o sustracciones de números, convirtiendo dichas operaciones en sumas de la siguiente manera:

x - y

= x + (-y)

= x + (bn - y) - bn (se resta a lo último un bn agregado, para no modificar el valor total de la operación, ya que bn - bn = 0) donde (bn - y) es el complemento a b (que llamaremos Comp)

Entonces:

x - y = x + Comp - bn

Antes de ver ejemplos del sistema binario, para que lo entiendan mejor, trabajaremos con el sistema decimal. Si tenemos la siguiente operación de resta:

400 - 325 = ?

Primero revisamos que estamos trabajando con números de tres dígitos, por lo que la cantidad de valores que se pueden representar es 103, o sea 1000 (de 0 a 999).

El complemento a diez de 325 es (1000 - 325) = 675 (ya que 103 - 325 = 675)

Por lo que tenemos que sumar:
 

    4 0 0
+   6 7 5
------------
  1 0 7 5
- 1 0 0 0
------------
      7 5

 
Por lo tanto, sumando a 400 el complemento a diez de 325 (675), y luego restando 1000 (ya que en este ejemplo como trabajamos con números de tres dígitos debemos restar el dígito de la unidad de mil además de cumplir con la fórmula de complementos x + (bn - y) - bn), encontramos el mismo resultado de la resta de 400 - 325.

En cualquier sistema de numeración con el que estemos trabajando, en lugar de restar bn en el final de la operación, (que en este ejemplo es 1000 o 103), se puede llegar al resultado final simplemente quitando el 1 de la columna adicional de la izquierda para respetar la cantidad máxima de dígitos permitidos (en este ejemplo tres); así 1075 se convertiría en 075, que es igual a 75 o a restar 1075 - 103. De esta manera se respeta la fórmula general de complementos.

Quizá todavía no notan los beneficios de utilizar este método. Pero se hace más fácil de utilizar si para buscar el complemento a b de un número, primero se busca el complemento disminuido de una raíz de sistema de numeración, o sea el complemento a b-1 y luego se le suma 1. Por ejemplo en el sistema decimal para encontrar el complemento a diez de un número, primero buscaríamos su complemento a nueve y luego le sumamos 1; mientras que en el sistema binario para encontrar el complemento a dos primero buscaríamos el complemento a uno y le sumamos 1. Este método simplifica mucho el proceso de búsqueda del complemento a b (en un sistema de numeración de raiz b) de un número; ya que el mismo se obtiene simplemente cambiando cada dígito de un número por su correspondiente complemento a b-1 unitario y luego sumando 1 a dicho complemento total del número.
 
Así el complemento a nueve (lo que le falta a un número para llegar a 9) de cada dígito es:
 

DIGITO
COMPLEMENTO A 9
0
9
1
8
2
7
3
6
4
5
5
4
6
3
7
2
8
1
9
0


Veamos la siguiente resta en la que aplicaremos primero el complemento a nueve y luego sumaremos 1 para dar con el complemento a diez, luego sumaremos dicho complemento al primer número:
 

40532 - 425 = ?

 
El número con más dígitos es 40532 (cinco dígitos), por lo que tenemos que igualar a 425 en cantidad de dígitos, agregando dos 0 en la izquierda del número (utilizamos los 0 en la izquierda para no modificar el valor del número), dando:
 
40532 - 00425 =
 
Luego buscamos el complemento a nueve de 00425:
 
Complemento a nueve de 00425 = 99574 (si cambiamos cada dígito por su correspondiente complemento obtenemos el complemento a nueve total de 425. Pueden encontrar los complementos de cada dígito utilizando la tabla de arriba).
 
Complemento a diez de 00425 = Complemento a nueve de 00425 + 1 = 99574 + 1 = 99575
 

    4 0 5 3 2
+   9 9 5 7 5
------------------
  1 4 0 1 0 7
- 1 0 0 0 0 0
------------------
    4 0 1
0 7

 
Finalmente restamos 100.000, ya que bn en este ejemplo es 105, y como hay cinco dígitos en cada número, la cantidad de valores enteros que se pueden representar son 100.000 y el número que sigue al máximo valor posible también es 100.000 (el cual requeriría un sexto dígito), por lo que no puede ser representado, dado que en esta operación no trabajamos con más de cinco dígitos por número. Cada vez que hay que restar a lo último de una operación el valor bn de n+1 dígitos (en este ejemplo 100.000), se puede hacerlo simplemente quitando el dígito 1 de más, en la izquierda del resultado de la suma del minuendo con el complemento a diez del sustraendo; que aquí sería 140107; quedando el valor de cinco dígitos 40107.
 
Esto funciona de la misma manera en todos los sistemas de numeración, cada vez que se resta un número menor de uno mayor, o sea que un número minuendo es mayor a un sustraendo; el resultado de la suma del minuendo y el complemento a b del sustraendo es mayor o igual a bn (en este ejemplo 105), por lo que siempre se agrega un 1 en una columna izquierda adicional n+1; y el cual simplemente puede ser quitado (lo cual equivale a restar bn, que en este ejemplo es 105).

 
La razón por la que en las restas de números x > y, el resultado de la suma de x y el complemento a b de y es mayor o igual a bse explica a continuación:
 
x - y
 
= x + (-y)
 
= [x + (bn - y)] - bn
 
= [x - y + bn] - bn
 
Si x es mayor o igual a y el resultado de la diferencia tendrá un valor entre 0 y (bn - 1), por lo que si se le suma luego bn, el resultado será lógicamente mayor o igual a bn; lo cual agrega en la izquierda una columna adicional con un dígito 1. Veamos un ejemplo:
 
40100 - 40000 = 40100 + (-40000)
 
= [40100 + (105 - 40000)] - 105
 
= [(40100 - 40000) + 100000] - 100000
 
= (100 + 100000) - 100000
 
= (100100) - 100000
 
= 000100
 
= 100
 
Como ven (100 + 100000) > 100000 o sea mayor a 105.
 
Pero qué pasa si un minuendo es menor a un sustraendo, o sea x < y. El resultado obviamente será negativo; y es aquí donde mejor se aprovecha el método de los complementos. Veamos un ejemplo:
 
120 - 450 =
 
Dado que trabajamos con números de tres dígitos, bn será igual a 103 (1000).
 
Pasamos 450 a su complemento a nueve dígito por dígito; lo que nos da 549.
 
Complemento a diez de 450 = Complemento a nueve de 450 + 1 = 549 + 1 = 550

  1 2 0
+ 5 5 0
-----------
  6 7 0

 
Como verán en este ejemplo, ya que y > x, no se agregó ninguna columna izquierda con un dígito 1, que cuando es quitado nos da el resultado final de la resta. Además es obvio que el resultado final obtenido no es negativo; entonces ¿cómo se explica eso?.
 
Con el método de los complementos se puede encontrar fácilmente una solución a este problema; simplemente se divide el espectro de números que se pueden representar con una n cantidad de dígitos en dos partes; los menores a n/2 son positivos, mientras que los mayores o iguales a n/2 son negativos.
 
Veamos algunos ejemplos:
 
Si trabajamos con tres dígitos (103); los números de 0 a 499 serán positivos, mientras que de 500 a 999 representarán a los negativos desde -1 a -500; tomándose como -1 a 999 (ya que 103 vendría a ser 0, aunque no se representa, ya que estamos trabajando con tres dígitos y 103 es igual a 1000, requiriendo cuatro dígitos; además sólo puede haber un 0 el cual es representado por el 0 del grupo de los positivos) y -500 es representado por 500. Por lo que tenemos:
 
0 = 0
499 = 499
500 = -500
999 = -1
 
Por lo tanto, con el método de los complementos, en el sistema decimal, todos los números que comienzan con 0, 1, 2, 3 o 4 se consideran positivos, mientras que todos aquellos que comienzan con 5, 6, 7, 8 o 9, se consideran números negativos.
 
Por ejemplo, si se quiere representar con el método de complementos un número mayor a 4999 o menor a -5000, se deben utilizar más de cuatro dígitos. Para representar el 5500 y el -5500; debemos trabajar con cinco dígitos (105), ya que se pueden representar los números del -50000 a 49999; siendo el grupo de 0 a 49999 para los positivos y el grupo de 50000 a 99999 para los negativos (los cuales se cuentan de 105 - 1, equivalente a -1, hasta 50000, equivalente a -50000).
 
5500 = 05500
-5500 = 105 - 5500 = 94500 = Complemento a diez de 94500 trabajando con números de cinco dígitos.
 
De los ejemplos anteriores nos damos cuenta que con este método los complementos a b de números de n dígitos, equivalen a números negativos siempre que sean representados con valores mayores o iguales a n/2 (en este ejemplo mayores o iguales a 50000).
 
Entonces en el ejemplo anterior:
 
120 - 450 = 120 + (-450)    <<< El número -450 puede ser representado con su complemento a diez
 
Complemento a nueve de 450 = 549.
 
Complemento a diez de 450 = Complemento a nueve de 450 + 1 = 549 + 1 = 550
 
Como todo número que comienza con 5, 6, 7, 8 o 9 se considera negativo, y 550 es el complemento a diez de 450, entonces 550 representa -450 (450 negativo); y sumar 550 es como sumar -450; en otras palabras restar 450 al minuendo 120.
 

  1 2 0
+ 5 5 0
-----------
  6 7 0

 

Como 670 comienza con 6, eso significa que el resultado es negativo, dicho número negativo se obtiene encontrando el complemento a diez de 670 (103 - 670).
 
Primero buscamos el complemento a nueve de 670 = 329
 
Y finalmente el complemento a diez = 329 + 1 = 330
 
Por lo que 670 representa a -330
 
120 - 450 = -330
 
Veamos otro ejemplo de resultado negativo con números decimales antes de comenzar con restas de números binarios utilizando el método de complementos.
 
23250 - 443544 = ?
 
Dado que el sustraendo 443544, tiene seis dígitos agregaremos un 0 en la izquierda de 23250 quedando:
 
023250 - 443544
 
Además puesto que trabajaremos con números de seis dígitos los complementos a diez serán para 106. Además los números menores a 500000 serán positivos, mientras que los mayores o iguales a 500000 (y menores a 106) representarán los números negativos.
 
023250 - 443544 = 023250 + (-443544)
 
Como ya se sabe, lo números negativos de un valor se representan con sus complementos a diez, por lo que buscaremos primero complemento a nueve de 443544 y luego le sumaremos 1 para obtener su complemento a diez, lo que equivale a -443544.
 
Complemento a nueve de 443544 = 556455
 
Complemento a diez de 443544 = 556455 + 1 = 556456

   0 2 3 2 5 0
+  5 5 6 4 5 6
------------------
  5 7 9 7 0 6

 
Dado que el resultado comienza con 5, ya sabemos que se trata de un número negativo. Ahora falta encontrar el complemento a diez de 579706:
 
Primero hay que buscar el complemento a nueve de 579706 = 420293
 
Y luego el complemento a diez de 579706 = 420293 + 1 = 420294
 
Como el 5 de 579706 nos indica que se trata de un número negativo, le agregamos un signo - a 420294
 
Por lo que llegamos al resultado final de 23250 - 443544 = -420294.
 
-----------------------------------------------------------------------------------------------------
 

 
RESTAS DE NUMEROS BINARIOS CON METODO DE COMPLEMENTO A DOS
 
El método de complementos en realidad no es muy necesario en el sistema decimal, pero sí es muy útil en el binario; ya que facilita mucho la representación de números negativos en aquel sistema y además simplifica el proceso de operaciones de restas. Esto es muy importante a la hora de diseñar circuitos electrónicos que realizan operaciones matemáticas trabajando en sistema binario.
 
El método de complementos en el sistema binario funciona de la misma forma que en el sistema decimal, sólo que en lugar de trabajar con complementos a diez se trabaja con complementos a dos, ya que se trata del sistema binario. Y en lugar de tener que complementar números de n dígitos a potencias de 10n, se los complementa a potencias de 2n para averiguar sus valores negativos.
 
También como se hizo en el sistema decimal, una técnica más fácil de encontrar el complemento a dos de un número es primero buscar su complemento disminuido, que en el sistema binario es el complemento a uno, y luego sumarle 1, para así obtener el complemento a dos. Esto se debe a que con los complementos disminuidos, se puede encontrar el complemento a b de un número simplemente cambiando cada dígito del número por su complemento a b-1 y luego sumando 1 al total.
 
Si se buscan los complementos a diez (sistema decimal) o complementos a dos (sistema binario) de cada dígito, en ocasiones el proceso se hace más complicado, ya que debemos agregar un dígito adicional hacia la izquierda de la columna en que estamos operando.
 
Por ejemplo en el sistema decimal el complemento a diez de 0 es 10, lo cual agrega un dígito hacia la izquierda; mientras que si buscamos el complemento disminuido de un número decimal, o sea a nueve, podemos trabajar dígito por dígito. En el sistema binario, como ya se sabe, solamente hay dos dígitos (1 y 0); por lo que el complemento a dos de 0 es 10 (2 en decimal), también complicando la operación de búsqueda del complemento de un número, ya que agrega un dígito hacia la izquierda.
 
En el sistema binario, para encontrar el complemento a dos de un número, lo más fácil y simple es encontrar su complemento a uno, cambiando cada dígito del número por su correspondiente complemento a uno; y luego sumarle a ese número final (que es el complemento a uno del número binario) un 1. Es exactamente lo mismo que hacíamos en el sistema decimal para encontrar el complemento a diez de un número, sólo que aquí trabajamos con complementos a uno y complementos a dos.
 
Veamos los complementos a uno de cada dígito en el sistema binario:
 

DIGITO
COMPLEMENTO A 1
0
1
1
0

 

Ya que solamente hay dos dígitos en el sistema binario (a diferencia de diez en el sistema decimal), encontrar el complemento de un dígito es muy fácil. Ya que a 0 le falta 1 para llegar a 1, el complemento a uno de 0 es 1; mientras que a 1 le falta 0 para llegar a 1, por lo que el complemento a uno de 1 es 0. Así, llegamos a la conclusión que para encontrar el complemento a uno de un número, lo único que hay que hacer es reemplazar cada dígito 0 con un 1 y cada 1 con un 0.
 
Por ejemplo el complemento a uno del número 0100 es 1011, ya que reemplazamos cada dígito 0 del número por 1 y cada 1 por 0.
 
Así como en el sistema decimal cuando utilizamos el método de complemento a diez, el primer dígito de la izquierda indica si se trata de un número positivo (si comienza con 0, 1, 2, 3 o 4) o de un número negativo si comienza con cualquiera de los otros cinco dígitos; en el sistema binario también se utiliza el primer dígito de la izquierda para indicar si es un número positivo o negativo. De esta manera, cuando usamos el método de complementos; aquellos números binarios que comienzan con 0 se los considera positivos mientras que aquellos que comienzan con 1 se los considera negativos.
 
Lo primero que hay que saber es la cantidad máxima de dígitos con los que se trabaja en cada número, dicha cantidad debe ser fija, así si por ejemplo trabajamos con números de cinco dígitos, sabremos que se podrán representar hasta 32 valores distintos, ya que 25 es igual a 32. De aquellos valores, la mitad serán para números positivos, de 00000 (0 se incluye en la mitad de los positivos) a 01111 (15 en binario) y la otra mitad para representar los números negativos, de 11111 (31 en binario pero que con método de complementos representa a -1) a 10000 (16 en binario pero que con método de complementos representa a -16).
 
En los números negativos se utiliza el complemento a dos, o sea la diferencia o cantidad de números que separan a dicho valor de bn, que en este ejemplo es 25. Los números negativos se cuentan de bn hacia atrás, por lo que en este ejemplo -1 vendría a ser 31 (11111), ya que esa es la diferencia que lo separa de 25; -10 (diez negativo) vendría a ser 22 (10110), ya que son 10 números los que separan a 22 de 25 (o sea los que separan a 10110 de 25).
 
--------------------------------------------------------------------------------------------------------
 
Antes de comenzar con las restas de números binarios, veamos nuevamente la fórmula generalizada de restas utilizando complementos a b.
 

Dados dos números x e y de n dígitos cada uno, en un sistema de numeración de raiz b:

x - y

= x + (-y)

= x + (bn - y) - bn (se resta a lo último un bn agregado, para no modificar el valor total de la operación, ya que bn - bn = 0) donde (bn - y) es complemento a b (que llamaremos Comp)

Entonces:

x - y = x + Comp - bn

 
-------------------------------------------------------------------------------------------------------------------
 
Ahora aplicaremos el método de complementos en la resta de números binarios.
 
Vamos a realizar la siguiente resta:
 
11110 - 10100 = ?
 
El minuendo 11110 es un 30 en binario y el sustraendo 10100 un 20; por lo que estamos por realizar en binario una sustracción equivalente a 30 - 20.
 
Supongamos que se requiere que trabajemos con números de seis dígitos, deberemos agregar un cero en la columna izquierda de cada número. Esto es muy importante, dado que en electrónica e informática se trabaja con valores de cantidades fijas de dígitos; por ejemplo cada byte está compuesto por ocho dígitos, 4 bytes por treintaidós dígitos, etc (para más información les recomiendo que lean Qué son los bits y los bytes).
 
Entonces agregamos los 0, para obtener números de seis dígitos, que permiten la representación de hasta 64 valores; la mitad de ellos en el grupo de cero y los positivos, de 000000 a 011111 (31 en binario); y la otra mitad de los negativos, de 111111 (-1 en binario) a 100000 (-32 en binario).
 
011110 - 010100 =
 
Y como 30 - 20 = 30 + (-20)
 
Lo que tenemos que hacer es buscar el complemento a dos de 010100. Para eso primero hay que buscar el complemento a uno y luego le sumamos 1.
 
Complemento a uno de 010100 = 101011
 
Complemento a dos de 010100 = Complemento a uno de 010100 + 1 = 101011 + 1 =101100
 
Como comienza con 1 eso nos indica que es un número negativo; de hecho con el sistema de complementos, 101100 equivale a -20 en binario (ya que es 44 y lo separan de 26, veinte números); por lo que se cumple:

30 + (-20)

Ahora simplemente sumamos el minuendo con el complemento a dos del sustraendo: 011110 + 101100
 

  0 1 1 1 1 0
+ 1 0 1 1 0 0
-------------------
1 0 0 1 0 1 0
1 0
0 1 0 1 0

 
Como estamos trabajando con números de seis dígitos simplemente hay que quitar el 1 de más en la izquierda, con lo que el resultado queda 001010 (10 en binario). Quitar ese 1 de más es como restar 1000000 (equivalente a 26) lo cual cumple con la fórmula general de complementos:
 
x - y = x + (bn - y) - bn; donde bn es 1000000 (26).
 
011110 - 010100 = 011110 + (1000000 - 010100) - 1000000
 
= 011110 + 101100 - 1000000 = 001010
 
 
A continuación realizaremos una resta en la que el minuendo es menor al sustraendo, lo cual nos dará como resultado de la sustracción un número negativo.
 
24 - 48 = ?
 
Trabajaremos con diez dígitos en cada número.
 
En binario, 24 se escribe 11000 y 48 es 110000. Pero como estamos trabajando con número de diez dígitos debemos agregar 0 hacia la izquierda de 11000 y 110000. Por lo que la operación de resta quedará así:
 
0000011000 - 0000110000 = ?
 
Ya que con diez dígitos se pueden representar 1024 valores (210), la mitad de ellos que empiezan con 0 representan números positivos de 0 a 511 mientras que todos aquellos que comienzan con 1, de 1000000000 (512) a 1111111111 (1023) representan valores negativos de -512 a -1 respectivamente.
 
Dado que
x - y = x + (- y), buscaremos el negativo de 48 (o sea -48) en binario, utilizando el método de complementos ya visto.
 
Complemento a uno de 0000110000 = 1111001111
Complemento a dos de 0000110000 = 1111001111 + 1 = 1111010000
 
Ahora sumamos 0000011000 más el complemento a dos de 0000110000 (48) que es 1111010000 (-48):
 

  0 0 0 0 0 1 1 0 0 0
+  1 1 1 1 0 1 0 0 0 0
------------------------------
  1 1 1 1 1 0 1 0 0 0

 

En la operación que vimos, el resultado es 1111101000, o sea -24 en binario. Dicho número 1111101000 en decimal equivale a 1000 (mil), o sea que su complemento a 210 es 24, por lo que le faltan 24 números para llegar a 1024. Trabajando con diez dígitos, sabemos que todo número de 1000000000 (512) a 1111111111 (1023) representa a los números negativos de -512 a -1 respectivamente. Si queremos saber cuántos números separan a 1111101000 de 210 debemos buscar su complemento a dos, que debe ser igual a 24.
 
Complemento a uno: 0000010111
Complemento a dos: 0000010111 + 1 = 0000011000
 
0000011000 en decimal es 24.
 
La cantidad de dígitos que obtuvimos es de diez dígitos sin ninguna columna adicional. En las operaciones con resultados negativos no es necesario quitar un 1 de más de una columna adicional, esto tiene una explicación:
 
Como ya sabemos
x - y = x + (bn - y) - bn; veamos cómo se aplica esta fórmula en la operación del ejemplo que vimos recién.
 
Como trabajamos con diez dígitos debemos anteponer la cantidad necesaria de 0 para llegar a diez dígitos, delante de los números positivos o la cantidad requerida de 1 para llegar a diez dígitos si se tratan de números negativos. En este ejemplo ambos números de la sustracción 11000 - 110000 son positivos ya que equivalen a 24 - 48; pero su resultado será negativo ya que
110000 > 11000 o y > x.

11000 - 110000 =
0000011000 - 0000110000 =
0000011000 + (10000000000 - 0000110000) - 10000000000 =
0000011000 + [complemento a uno de (0000110000) + 1] - 10000000000 =
0000011000 + (1111111111 - 0000110000 + 1) - 10000000000 =
0000011000 + (1111001111 + 1) - 10000000000 =
0000011000 + 1111010000 - 10000000000 =
1111101000 - 10000000000 =
-(10000000000 - 1111101000) =
-0000011000 = 1111101000
 
Ya que -0000011000 es 24 negativo y 1111101000 es mil (1000) en binario, si trabajamos con el método de complementos y números de diez dígitos con un máximo de 210 (1024) valores, el número 1000 se encuentra a 24 números de 210, lo cual equivale a -24.
 
Además como ya vimos el complemento a dos de 1111101000 es 0000011000, demostrando que le faltan 24 números para llegar a 210, por lo que 1111101000 equivale a -24.
 

-------------------------------------------------------------------------------------------------
 

METODO ALTERNATIVO DE BUSQUEDA DE COMPLEMENTO A DOS DE NUMEROS BINARIOS
 
 
También existe otro método alternativo, más directo, para encontrar el complemento a dos de números binarios, el cual evita el paso previo de cálculo del complemento a uno de un número y la posterior suma de 1.

Para encontrar el complemento a dos de un número hay que comenzar de la derecha sin modificar ningún dígito hasta encontrar el primer 1, el cual tampoco debe ser cambiado. Después, a partir de ese punto ya se deben cambiar cada uno de los dígitos por su correspondiente complemento, o sea que cada 1 debe ser reemplazado por un 0 y cada 0 por un 1.

Dado el número de diez dígitos 1111101000 (equivalente a 1.000 en decimal), buscaremos su complemento a dos, para llegar a 210

Complemento a dos de 1111101000: 0000011000

Como se puede ver todo se mantiene igual hasta llegar a su primer 1 de la derecha y a partir de ese punto sí se comienzan a reemplazar cada uno de los dígitos. El resultado de complemento a dos es 0000011000, equivalente a 24 en decimal, que es exactamente lo que falta para llegar a 210 desde 1000.

0000011000 << La parte en rojo no se modifica hasta el primer 1.

Dado el número de cinco dígitos 10100 (20 en decimal)

Complemento a dos de 10100: 01100

El número 01100 (12 en decimal) es lo que falta para llegar de 10100 (20) a 25.

 
------------------------------------------------------------------------------------------------- 
 
A continuación haremos algunas restas con números binarios:

 
Trabajando con números binarios de diez dígitos realizar 450 - 50:
 
0111000010 -  0000110010 = ?
 
Complemento a uno de 0000110010 = 1111001101
Complemento a dos de 0000110010 = 1111001101 + 1 = 1111001110
 

    0 1 1 1 0 0 0 0 1 0
+   1 1 1 1 0 0 1 1 1 0
-------------------------------
  1 0 1 1 0 0 1 0 0 0 0
  1 0 1 1 0 0 1 0 0 0 0

 
El resultado final de 0111000010 -  0000110010 = 0110010000, lo cual se puede corroborar en decimal, ya que 0110010000 equivale a 400, y 450 - 50 = 400.

-------------------------------------------------------------------------------------------------
 
Trabajando con números binarios de diez dígitos realizar 40 - 440:
 
0000101000 - 0110111000 = ?
 
Complemento a uno de 0110111000 = 1001000111
Complemento a dos de 0110111000 = 1001000111 + 1 = 1001001000
 
 

    0 0 0 0 1 0 1 0 0 0
+   1 0 0 1 0 0 1 0 0 0
-------------------------------
    1 0 0 1 1 1 0 0 0 0

 

El resultado final de 0000101000 - 0110111000 = 1001110000, lo cual se puede comprobar en decimal que 1001110000 equivale a -400 (ya que el complemento a dos de 1001110000 para llegar a 210 es 0110010000 o 400 en decimal), y 40 - 440 = -400.
 
 
Continúa en Cómo funciona el sistema de numeración binario 2 >>


12 people like this

Share
Related Articles

Suggested posts
Follow Youbioit






Comments

Post new comment

The content of this field is kept private and will not be shown publicly.