En las matematicas, los números
negativos en cualquier base se representan del modo habitual, precediéndolos
con un signo «−». Sin embargo, en unacomputadora, hay varias formas de
representar el signo de un número. Este artículo trata cuatro métodos de
extender el sistema
binario para representar varios y
diferentes números con signo: signo y
magnitud, complemento
a uno, complemento a dos y exceso K, donde normalmente K equivale a bnÍ-1.
Para la mayoría de usos, las
computadoras modernas utilizan típicamente la representación en complemento a
dos, aunque pueden usarse otras en algunas circunstancias.
En las secciones a
continuación, nos referiremos exclusivamente al caso de números signados en
binario (y contrastaremos con el decimal con fines didácticos), esto no
significa que lo mostrado aquí se pueda llevar en forma análoga a otras bases (hexadecimal, u octal, por ejemplo).
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 losn 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:
|
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: |
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 010tiene dos representaciones. Ejemplo 5: En Signo Magnitud, para n = 8, el número 010 se puede escribir de dos formas: 010 = 00000000SM = 10000000SM |
0 comentarios:
Publicar un comentario