Skip to content

B_Numeros binarios con Signo

José Fernando Picó Antolí edited this page Jan 15, 2018 · 5 revisions

Números Binarios con signo

Para poder interpretar si un número es positivo o negativo, se debe conocer con anticipación el tipo de representación que se está usando.

Podemos tener varias formas de representar números con signo:

  1. Convención "Signo-Magnitud". El número tiene una magnitud y el signo es representado con un 0 (+) o un 1 (-) en el bit más significativo ( a la izquierda).
  2. Convención del "Signo por Complemento (Complemento a 1 o Complemento a 2)" donde se representan los números negativos con el complemento del número positivo.
Ejemplo, para representar el -11 con 8 bits se puede hacer siguiendo las distintas  
convenciones:
                           11 en binario es (00001011)
     - Signo-Magnitud =>                     10001011
     - Signo con Complemento a 1 =>          11110100
     - Signo con Complemento a 2 =>          11110101

La representación "Signo-Magnitud" se usa en aritmética ordinaria pero no es ágil para la artimética del computador al tener que manejar por separado el signo y la magnitud. El "Signo con Ca1" raramente se usa para operaciones aritméticas, es útil para operaciones lógicas.

Vamos a realizar las siguientes operaciones utilizando la representación del "Signo con Ca2".

Suma

Si usásemos "Signo-Magnitud" en caso de ser un número positivo y otro negativo, necesitaríamos comparar las magnitudes para saber después de realizar la resta que signo predominaría.

Usando representación de los números negativos en modo Ca2 no se necesita comparar y las operaciones de suma resultan correctas con el signo incluido.

Para sumar dos números en caso de haber uno negativo, se debe calcular el Ca2  
del número negativo y luego realizar la suma. En caso de que el resultado sea  
negativo, este estará expresado en Ca2.
Ejemplos:

     +3  00000011   
     -3  11111101   ( Ca2 de 3 )
     --------------
      0  00000000   Cualquier acarreo del bit de signo es descartado

     +4  00000100
     -6  11111010   ( Ca2 de 6 )
     ------------
     -2  11111110  en Ca2 --> 00000001 + 1 = 00000010 ( 2 )
     
     -4 11111100   ( Ca2 de 4 )
     -6 11111010   ( Ca2 de 6 )
     -----------
    -10 11110110   ( Ca2 de 10)
    
Clone this wiki locally