jueves, 6 de octubre de 2016

CODIFICACION DE NUMEROS NEGATIVOS SIGNO MODULO:

Representación de números con signo

 

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:
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 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

 
Blogger Templates