Sistema Binario
Enviado por cris2807 • 1 de Abril de 2015 • 1.938 Palabras (8 Páginas) • 387 Visitas
Signo y magnitud
Un primer enfoque al problema de representar un número signado de n-bits consiste en asignar:
1. un bit para representar el signo. Ese bit a menudo es el bit más significativo o MSB (de sus siglas en inglés) y, por convención: un 0 denota un número positivo, y un 1 denota un número negativo;
2. los (n-1)-bits restantes para representar el significando que es la magnitud del número en valor absoluto.
Y se conoce como Signo y Magnitud.
Este enfoque es directamente comparable a la forma habitual de mostrar el signo (colocando "+" o "-" al lado de la magnitud del número). Algunas de las primeras computadoras binarias (la IBM 7090) utilizaron esta representación, quizás por su relación obvia con la práctica habitual.
El formato Signo y Magnitud es además el habitual para la representación del significando en números en punto flotante.
Ejemplo de Signo y Magnitud
Sea una representación en formato de Signo y Magnitud que nos permite codificar un número entero en binario con 8 bits (un byte). Esto nos otorga 1 bit para el signo y 7 bits para la magnitud. Con 8 bits, podemos representar, en teoría al menos (véase Desventajas, más abajo), 28 = 256 números. Los cuales, según éste formato, van a estar repartidos entre 128 números positivos (bit de signo en 0) y 128 números negativos (bit de signo en 1).
Supongamos ahora, que tenemos que representar el número -9710 (decimal). Procedemos a:
1. Tomar nota del signo del número -9710, que siendo negativo, llevará como bit de signo un 1;
2. Realizar la conversión: el valor absoluto de -9710 es |-9710| = 9710. Que en binario es: 11000012;
3. Colocar todo junto, el número -9710 en binario con formato de Signo y Magnitud es: 111000012. Donde el 1 en el bit más significativo indica un número negativo, y 11000012 es el significando en valor absoluto.
Para el caso inverso, dado un número binario en Signo y Magnitud, por ejemplo, 101101012, procedemos a:
1. Analizar el bit más significativo, que siendo un 1 indica que el número es negativo;
2. Convertir el significando a la base deseada, por ejemplo, en decimal, tomando en cuenta que el valor obtenido está en valor absoluto y la magnitud real estará dada por el bit de signo obtenido antes: 01101012 = |5310|. Siendo que el bit de signo es 1, el número real es -5310. Si el bit de signo fuese 0, el número hubiese sido +5310.
Desventajas de la representación en Signo y Magnitud
Siguiendo con el ejemplo de n = 8 (8 bits).
• Es más complejo operar aritméticamente. Para realizar una suma, por ejemplo, primero hay que determinar si los dos números tienen el mismo signo, y en caso de que sea así, realizar la suma de la parte significativa, pero en caso contrario, restar el mayor del menor y asignar el signo del mayor.
• Posee doble representación del cero. Al representar en Signo y Magnitud, aparece el cero asignado: 000000002 (+010) y 100000002 (-010).
Ventajas de la representación en signo y magnitud
Siguiendo con el ejemplo de n = 8 (8 bits).
• Posee un rango simétrico: los números van del +12710 = 011111112, pasando por el +010 = 000000002 y el -010 = 100000002, hasta el -12710 = 111111112. Y en forma general, para n-bits, el rango (en decimal) para Signo y Magnitud es (-2n-1+1; 2n-1-1), o bien ± (2n-1-1).
Complemento a la base menos uno
Otro enfoque sería representar números negativos usando el complemento a la base menos uno. En el caso de los números binarios, sería el complemento a uno y la forma del complemento a uno de un número binario es un NOT bit a bit aplicado al número, es decir, la inversión de unos por ceros y ceros por unos. De esta forma, en la representación por Complemento a uno de un número signado de n-bits asignamos:
1. un bit para representar el signo. Ese bit a menudo es el bit más significativo y, por convención: un 0 denota un número positivo, y un 1 denota un número negativo;
2. los (n-1)-bits restantes para representar el significando que es la magnitud del número en valor absoluto para el caso de números positivos, o bien, en el complemento a uno del valor absoluto del número, en caso de ser negativo.
Observar así que la representación en Complemento a uno de un número negativo se puede obtener de la representación en Signo y Magnitud por una mera inversión de unos por ceros y ceros por unos del significando.
Este sistema numérico de representación era común en computadoras más antiguas; el PDP-1 y la serie de UNIVAC 1100/2200, entre muchas otras, utilizaron la aritmética en complemento a uno.
Ejemplo de complemento a uno
Sea una representación en formato de Complemento a uno que nos permite codificar en binario en punto fijo con 8 bits (un byte). Al igual que con la representación en Signo y Magnitud, esto nos otorga 1 bit para el signo y 7 bits para la magnitud. Con 8 bits, podemos representar, en teoría al menos (véase nuevamente Desventajas, más abajo), 28 = 256 números. Los cuales, según éste formato, van a estar repartidos entre 128 números positivos (bit de signo en 0) y 128 números negativos (bit de signo en 1).
Supongamos ahora, que tenemos que representar el número -9710. Procedemos a:
1. Tomar nota del signo del número -9710, que siendo negativo, llevará como bit de signo un 1;
2. Como el signo es negativo, el número a continuación del bit de signo, deberá expresarse en complemento a uno. Al realizar la conversión: el valor absoluto de -9710 es |-9710| = 9710. Que en binario es: 11000012, y el complemento a uno de 11000012 es C1(1100001) = 00111102;
3. Colocar todo junto, el número -9710 en binario con formato de Complemento a uno es: 100111102. Donde el 1 en el bit más significativo indica un número negativo, y 00111102 es el significando en complemento a uno del valor absoluto del número.
Para el caso inverso, dado un número binario en Complemento
...