|
|
|
|
|
|
CarlosPes.com
> Curso
de Representación de los Datos
> Signo Magnitud |
|
Signo Magnitud
|
|
|
|
|
¿Cómo se
escribe un número en Signo Magnitud?
|
|
En
la representación de un número entero en Signo
Magnitud, también llamada Signo
Módulo, de los n bits participantes en dicha
representación, el
más significativo se encarga de representar al signo del
mismo, denominándosele bit de signo.
El resto de bits
representan a la magnitud. Por tanto, dado un número en
Signo Magnitud de n bits,
NSM
= an-1 an-2 ... a1
a0
el bit an-1
representa al signo del número y el resto de
bits: an-2, ..., a1
y a0, a la
magnitud del mismo. |
|
|
|
Cuando
se quiera representar a un número negativo, el bit de signo
valdrá 1, siendo 0
cuando el número sea positivo. El rango de
representación de este sistema es el siguiente: |
|
|
|
Figura - Rango de
representación en Signo Magnitud. |
|
Ejemplo
1: En Signo
Magnitud, para n = 8, el bit a7
representa al signo del
número, y el resto de bits: a6,
a5,
a4,
a3,
a2,
a1
y a0, a
la magnitud del mismo: |
|
|
|
Su
rango de representación es: |
|
|
|
Por
consiguiente, se pueden representar 28 - 1 = 255
números
enteros, que van desde el -12710
hasta el 12710.
Ejemplo 2: En Signo Magnitud, para n
= 8, el
número 2310
se escribe: |
|
|
|
Al
ser un número positivo, el bit de signo vale cero (a7
= 0)
y, como se puede observar, los números positivos escritos en
Signo Magnitud se representan igual que si se escribiesen en Binario
Puro:
2310
= 00010111SM = 00010111BP
Ejemplo 3: En Signo Magnitud, para n
= 8, el
número -2310
se
simboliza con la misma magnitud que el número 2310,
diferenciándose, solamente, en el bit de signo, que al
tratarse de un número negativo, ahora tiene que valer 1,
en
vez de 0. Así pues, su
representación es: |
|
|
|
Por
tanto,
-2310
= 10010111SM
Por otro lado, para calcular el valor en base 10 de un
número entero (N) escrito en
Signo Magnitud, hay que hacer
uso de la fórmula: |
|
|
|
Figura - Fórmula para
calcular, en base 10, el valor de un número entero escrito
en Signo Magnitud. |
|
Ejemplo
4: Para calcular
los valores en base 10 de los números 11100001SM
y 00011010SM, se
debe emplear la fórmula
anterior. De tal manera que:
11100001SM
= ( (1 - 2∙1) ∙
(1∙26 + 1∙25 + 1∙20)
)10 = ((1 - 2) ∙ (64 + 32 + 1))10
= ((-1) ∙ (97))10
= -9710
00011010SM = ( (1 - 2∙0) ∙ (1∙24
+ 1∙23 + 1∙21) )10
= ( (1 - 0) ∙ (16 + 8 + 2) )10 = ( (1) ∙ (26) )10
= 2610
Obsérvese que, en Signo Magnitud, al problema de
desbordamiento se le suma que el número 010
tiene dos
representaciones.
Ejemplo 5: En Signo Magnitud, para n
= 8, el
número 010
se
puede escribir de dos formas:
010
= 00000000SM = 10000000SM |
|
|
|
|
|
|
|
|