Signo y Magnitud

Ir a Representación de Datos

Si deseas revisar información relacionada a la representación de datos en el computador, haz click en el siguente botón.

Para representar números enteros sin signo en el computador, simplemente se realiza la transformación a base 2 del número, pero, ¿cómo hace el computador para representar números con signo? Existen diversas formas de representar números con signo en el computador, cada una de ellas con un conjunto de ventajas y desventajas. Analizaremos en este artículo la notación en Signo y Magnitud

Comprenderemos cómo el computador reconoce los números enteros positivos y negativos a pesar de no tener un símbolo especial para ello. Revisaremos cómo se realizan las operaciones aritméticas  en base 2. Analizaremos los puntos fuertes y débiles de la representación Signo y Magnitud para la representación de números con signo. 

Al finalizar te invitamos a visites los siguientes artículos relacionados.

En la representación en signo y magnitud, de los n bits que se utilizan para representar al número, se usa un bit para el signo y los n-1 restantes, para la magnitud. 

El bit del signo es el bit más significativo, es decir el bit que está más a la izquierda. Un valor de 0 en el bit del signo indica que el número es positivo y un valor de 1, que es negativo. Para representar la magnitud se toma el valor absoluto del número y se representa en binario pero, usando solamente n-1 bits.

El la siguiente imagen, se presenta un octeto en donde representamos el número 3 tanto en positivo como en negativo. El bit del signo, el más significativo, se encuentra resaltado para que lo puedan identificar fácilmente y además cuenta con una flecha que lo señala. Note que para poder determinar el valor del número, se usan todas las potencias de 2 del octeto excepto la del bit más significativo que, como ya se indicó, se usa para representar el signo.

El número +3 en binario se representa como 00 00 00 11. El primer bit es cero por que el número es positivo. Para obtener la representación en base 10, basta sumar 2+1, las potencias de 2 en donde hay un bit prendido.

el número 3 en signo y magnitud
Representación del número +3 en Signo y Magnitud

En el caso del número -3, este se representa como 10 00 00 11. El primer bit es uno por que el número es negativo. Para obtener la representación en base 10, basta sumar 2+1, las potencias de 2 en donde hay un bit prendido. A la magnitud que se obtiene con la suma, se le asigna el signo negativo.

el número -3 en signo y magnitud
Representación del número -3 en Signo y Magnitud

La representación del cero en Signo y Magnitud

Una de las desventajas de esta representación es que el cero tiene dos posibles formas de representarse, una para el cero «positivo» y otra para el cero «negativo».

doble representación del cero en signo y magnitud
Desventaja de la representación en Signo y Magnitud, la doble representación del cero.

Rango de representación

Con n bits se podrían representar 2^n números, pero como en esta representación se utilizan dos formas para representar el cero, en realidad solo se podrán representar 2^n-1 números. De forma general se puede decir que, el rango de los números va desde -2^{n-1}-1 hasta +2^{n-1}-1.

Por ejemplo, con 3 bits se podrán representar 2^3 -1 = 8 -1 = 7 números, que van desde el -3 hasta el +3

Valor en DecimalValor en Signo y Magnitud
+0000
+1001
+2010
+3011
-0100
-1101
-2110
-3111

Operaciones aritméticas

Suma de números con el mismo signo

Operaciones básicas como la suma, son algo complejas de realizar pues la forma de cálculo depende si los números a sumar tienen el mismo signo o no. Si los números tienen el mismo bit de signo, la suma va a tener el mismo signo. Se coloca el bit de signo y se procede a sumar la magnitud. Recuerde que para sumar en binario debe tener en consideración que: 

OperaciónResultado
0+00
0+11
1+01
1+1(1) 0 hay un acarreo positivo de 1

En las imágenes que se presentan a continuación, se pueden apreciar un par de ejemplos de suma en la representación de Signo y Magnitud de números con el mismo signo.

ejemplo de suma en signo y magnitud - números con el mismo signo
Suma de números en Signo y Magnitud. Números con mismos signo.
ejemplo de suma en signo y magnitud - números con el mismo signo
Suma de números en Signo y Magnitud. Números con mismos signo.

Suma de números con signo diferente

Si los números tienen diferente bit de signo, la suma va a tener el mismo signo del número con mayor magnitud. Se coloca el bit de signo y se procede a restar el valor de mayor magnitud con el valor de menor magnitud. Recuerde que para restar en binario debe tener en consideración que:

OperaciónResultado
0-00
0-11 (hay un acarreo negativo de 1)
1-01
1-10

En las imágenes que se presentan a continuación, se pueden apreciar un par de ejemplos de suma en la representación de Signo y Magnitud de números con signo diferente.

ejemplo de suma en signo y magnitud - números con signo diferente
Suma de números en Signo y Magnitud. Números con signo diferente.
ejemplo de suma en signo y magnitud - números con signo diferente
Suma de números en Signo y Magnitud. Números con signo diferente.

Conclusión

Como hemos podido observar, la representación en signo y magnitud posee las siguientes ventajas:

  • Es una representación sencilla de implementar.
  • Posee un rango de representación simétrico.

Lamentablemente posee las siguientes desventajas:

  • Existe una doble representación para el número cero.
  • Las operaciones aritméticas, como la suma, son complejas de realizar.

Ahora podemos entender cómo es que la computadora representa los números enteros con signo usando la notación en signo y magnitud

Si te ha gustado este artículo, te invitamos a que leas los artículos relacionados con la representación de números enteros en el computador.

Si te interesa investigar más sobre la representación en signo y magnitud, te recomendamos los siguientes libros:

  •  Computer Arithmetic: Algorithms and Hardware Designs de Behrooz Parhami, en donde detalla la representación de números enteros con y sin signo, números reales y la implementación de las principales operaciones aritméticas.
  • Digital Arithmetic  de Miloš D. Ercegovac  y Tomás Lang . En este libro, además de revisar la representación de números enteros y reales, se analizan algoritmos para implementación de rutinas de cálculo numérico como por ejemplo la raíz cuadrada