Búsqueda personalizada
Curso de Representación de los Datos
 Principal
 Inicio
 Libros
 Librerías
 Mapa Web
 
 Recursos
 Artículos
 Cursos
 Ejercicios
 Guías de uso
 Mini Diccionario 
  
 Sintaxis
 ANSI C
 Ordinogramas
 Pascal
 Pseudocódigo 
  
 Acerca de
 Carlos Pes
 Mi Blog 
  
 Sitios Amigos
 Casas Rurales
 Directorio Web

 
[más enlaces] 
  
 Contenidos > 5.2 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.

Representación de un número entero en Signo Magnitud

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:

Rango de representación en Signo Magnitud

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:

Ejemplo: representación en Signo Magnitud

Su rango de representación es:

Ejemplo: rango de representación en Signo Magnitud

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:

Ejemplo: número en Signo Magnitud

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:

Ejemplo: número en Signo Magnitud

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:

Fórmula de Signo Magniutd a base 10

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
 Más información
Texto extraído del apartado 2.5.2 Signo Magnitud del libro EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C, (páginas 47-49).
 Contenidos > Apartado siguiente
5.3 Complemento a 1
Búsqueda personalizada
 A destacar
Cursos Ejercicios Libros Enlaces Recomendados
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Marketing en Internet
Curso Lenguaje C
Curso Turbo Pascal
Curso Representación Datos
Ejercicios de Algoritmos
Ejercicios de Lenguaje C
Ejercicios de Ordinogramas
Ejercicios de Pascal
Empezar de cero a programar en lenguaje C
Domine la programación en lenguaje C
Empezar de cero a programar en Pascal
 Secciones
Inicio Libros Librerías Mapa Web Artículos Cursos Ejercicios Guías de uso Mini Diccionario Enlaces Carlos Pes Mi Blog
© Carlos Javier Pes Rivas, 2006-2008
Política de privacidad - Contactar