Representación de números con signo

Autor: Leandro Alegsa

Las representaciones de números con signo se utilizan para resolver el problema de la representación de enteros negativos en binario. El problema de intentar almacenar el signo negativo (-) de un número binario es que no hay estados que se puedan utilizar para representar la asignación negativa. No es posible utilizar simplemente "off" para el signo menos y "on" para el signo más, porque el ordenador no tendría forma de saber si se trata de un dígito o de un signo.

Para superar este problema, los diseñadores de ordenadores inventaron dos métodos para almacenar números binarios negativos: signo y magnitud y complemento a 2. Estos métodos producen representaciones alternativas para los números con signo.

Signo y magnitud

El signo y la magnitud funcionan cambiando el bit más significativo (MSB - el primer dígito) a un 1 si el número es negativo, y reduciendo el número en uno, por ejemplo:

0000 0010 (2)

se convertirá en...

1000 0010 (-2)

Este método de almacenar números binarios negativos no funciona porque:

  • La aritmética binaria no funciona.
  • Primero debemos saber qué mecanismo de almacenamiento utiliza el compilador de un determinado lenguaje.

Complemento a 1

El complemento de 1 funciona intercambiando 1s por 0s y los 0s por 1s, por ejemplo:

0000 0010 (2)

se convertirá en...

1111 1101 (-2)

Al igual que el método de signo y magnitud, se define fácilmente como un número negativo porque su bit más significativo es 1

Complemento a 2

El complemento a 2 es una forma más difícil de almacenar los negativos. Hay tres pasos para ello:

  1. Encuentre el número binario positivo (por ejemplo, 8base 10 = 0000 1000base 2).
  2. Cambia los 1s por 0s y los 0s por 1s (por ejemplo, 0000 1000base 2 se convierte en 1111 0111base 2).

Esto se conoce como "voltear los bits", o aplicar el NOT lógico a la representación original de base 2.

  1. Suma 1 (por ejemplo, 1111 0111base 2 + 1base 2 = 1111 1000base 2).

Este método gusta porque:

  • Es como el signo y la magnitud; un número negativo comienza con un 1 y un número positivo con un 0.
  • La aritmética binaria funcionará.
  • Sólo hay un valor para el 0 (0000 0000base 2).


Buscar dentro de la enciclopedia
AlegsaOnline.com - 2020 / 2025 - License CC3