domingo, 12 de septiembre de 2010

Binario-Octal-Hexadecimal

Conversión de binario a decimal

El sistema de numeración binario u un sistema de posición donde cada dígito binario (bit) tiene un valor basado en su posición relativa al LSB. Cualquier número binario puede convenirse a su equivalente decimal, simplemente sumando en el número binario las diversas posiciones que contenga un 1. Por ejemplo:

1 1 1 0 1 12 de binario a decimal

1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 1 x 2 + 1 = 6910

Conversión de decimal a binario

Existen dos maneras de convenir un número decimal entero a su representación equivalente en el sistema binario. El primer método es inverso al proceso descrito anteriormente. El número decimal se expresa simplemente como una suma de potencias de 2 y luego los unos y los ceros se escriben en las posiciones adecuadas de los bits. Por ejemplo:

45 = 32 + 8 + 4 + l = 25 + 0 + 23 +2 2 + 0 + 20

entonces es igual a 1 0 1 1 0 12

Pasar a decimal el binario 101011102

1 0 1 0 1 1 1 0

Entonces el número se forma tomando los residuos pero en forma inversa, es decir el primer digito será el último residuo y así sucesivamente. El número quedaría como sigue:

1 0 0 0 0 0 1 02

3. Operaciones Binarias

En lo que sigue se adopta como convención la lógica positiva, lo que implica:

verdadero = 1 = activo, ------, falso = 0 = inactivo

Hay cinco operaciones binarias básicas: AND, OR, NOT, XOR y ADD. La resta, multiplicación y división se derivan de estas cinco anteriores. Cualquiera sea la longitud de la palabra o palabras objeto de la operación, siempre se hace de a un bit por vez de derecha a izquierda (tal como si fuera una suma o resta con números decimales). Esto permite una definición de cada operación que es independiente de la longitud del o de los operando(s). La operación NOT es la única que se realiza sobre un sólo operando (es unaria), y las otras cuatro sobre dos operandos.

La operación AND (Y) tiene resultado 1 si sus dos operandos son ambos 1

La operación OR (O) tiene resultado 1 si cualquiera de sus operandos es 1

La operación XOR tiene resultado 1 si los operandos son distintos (uno en 0 y el otro en 1)

La operación NOT (NO) tiene resultado 1 si el operando es 0 y viceversa

La operación ADD (SUMA) se define igual que con los números decimales

AND
OR
XOR
NOT
SUMA

0 * 0 = 0
0 + 0 = 0
0 X 0 = 0
NOT 1 = 0
0 + 0 = 0

0 * 1 = 0
0 + 1 = 1
0 X 1 = 1
NOT 0 = 1
0 + 1 = 1

1 * 0 = 0
1 + 0 = 1
1 X 0 = 1
---
1 + 0 = 1

1 * 1 = 1
1 + 1 = 1
1 X 1 = 0
---
1 + 1 = 10

División

Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida,0/1=0, 1/1=1

Es lo que hacemos en la suma decimal 5+5=10 (nos llevamos “1″ para la operación del dígito siguiente). Este llevarse “1″ es vastamente usado entre los procesadores digitales y tiene un nombre especial: carry (lo verá abreviado como CY, C o CF-por carry flag), lo que en castellano se traduce como “acarreo” (que suena muy mal, asi que le seguiremos llamando carry). Estas operaciones también se llaman “booleanas” ya que se basan en el álgebra de Boole (invito al lector a rememorar cuando en la escuela secundaria se preguntaba, igual que yo, si el álgebra de Boole le serviría alguna vez para algo).

En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora.

Para sumar números, tanto en base 2 como hexadecimal, se sigue el mismo proceso que en base 10:

Podemos observar que la suma se desarrolla de la forma tradicional; es decir:

+ 0011 1100b sumamos normalmente, salvo en el caso de


1 + 1 = 102 , en cuyo caso tenemos un acarreo

1110 0110b

de 1 (lo que nos llevamos).

Complemento a dos.

En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener 00h, por ejemplo:

FFh Como en un byte solo tenemos dos nibbles, es

+ 01h decir, dos dígitos hexadecimales, el resultado es


0 (observar cómo el 1 más significativo subrayado

100h es ignorado). Luego FFh=−1. Normalmente, el bit 7

se considera como de signo y, si está activo (a 1)

el número es negativo.

Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (−128) y el número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el complemento a dos. Con una calculadora, la operación es más sencilla: el complemento a dos de un número A de n bits es 2n-A.

Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a otro mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda son bits a 0. Sin embargo, si era negativo (bit más significativo activo) la parte que se añade por la izquierda son bits a 1. Este fenómeno, en cuya demostración matemática no entraremos, se puede resumir en que el bit más significativo se copia en todos los añadidos: es lo que se denomina la extensión del signo: los dos siguientes números son realmente el mismo número (el −310): 11012 (4 bits) y 111111012 (8 bits).

Sistema de numeración octal

El sistema de numeración octal es muy importante en el trabajo que se realiza en una computadora digital. Este tiene una base de ocho, lo cual significa que tiene ocho posibles dígitos: 0, 1, 2, 3, 4, 5, 6 y 7. Así, cada dígito de un número octal puede tener cualquier valor del 0 al 7. Conversi6n de octal a decimal.- Por tanto, un número octal puede convenirse fácilmente a su equivalente decimal multiplicando cada dígito octal por su valor posicional. Por ejemplo:

2748 = 2 x 82 + 7 x 81 + 4 x 80

2848 = 2 x 64 + 7 x 8 + 4 x 1

2848 = 18810

Conversión de decimal a octal

Un entero decimal se puede convertir a octal con el mismo método dc división repetida que se usó en la conversión de decimal a binario, pero con un factor de división dc 8 en lugar de 2. Por ejemplo:

con residuo 4

con residuo 4

con residuo 2

Al final resulta que:

16410 = 2448

Conversión de octal a binario

La ventaja principal del sistema de numeración octal es la facilidad con que se puede realizar la conversión entre números binarios y octales. La conversión de octal a binario se lleva a cabo conviniendo cada dígito octal en su equivalente binario dc 3 bits.

Por medio de estas conversiones, cualquier número octal se conviene a binario, convirtiéndolo dc manera individual. Por ejemplo, podemos convertir 516, a binario de la siguiente manera:

5 1 6

001 110

entonces:

5168 = 1010011102

Conversion de binario a octal

La conversión de enteros binarios a octales es simplemente la operación inversa del proceso anterior. Los bits del número binario se agrupan en conjuntos de tres comenzando por el LSB. Luego, cada grupo se convierte a su equivalente octal. Por ejemplo:

111 001 101 110

7 1 5 6

entonces:

1110011011102 = 71568

Sistema De Numeración Hexadecimal

Conversión de hexadecimal a decimal.- Un número hexadecimal se puede convenir a su equivalente decimal utilizando el hecho de que cada posición de los dígitos hexadecimales tiene un valor que es una potencia de 16. El LSD tiene un valor de l60 = 1; el siguiente dígito en secuencia tiene un valor de 161 = 16; el siguiente tiene un valor de 162 = 256 y así sucesivamente. Por ejemplo:

81216 = 8 x 162 + 1 x 161 + 2 x 160

81216 = 2048 + 16 + 2

81216 = 206610

Conversión de decimal a hexadecimal

Recuerde que efectuamos la conversión de decimal a binario por medio de la división repetida entre 2 y de decimal a octal por medio de la división repetida entre 8. De igual manera, la conversión de decimal a hexadecimal se puede efectuar por medio de la división repetida entre 16. Por ejemplo:

con residuo 7

con residuo 010

con residuo 1

entonces:

42310 = 1A716

Conversión de hexadecimal a binario

Al igual que el sistema de numeración octal, el sistema hexadecimal se usa principalmente como método ‘taquigráfico” en la representación de números binarios. Es una tarea relativamente simple la de convertir un número hexadecimal en binario. Cada dígito hexadecimal se convierte en su equivalente binario de 4 bits. Por ejemplo:

6 D 2 3

1101 0010 0011

entonces:

6D2316 = 1101101001000112

Conversión de binario a hexadecimal

Esta conversión es exactamente la operación inversa del proceso anterior. El número binario se agrupa en conjuntos de cuatro bits y cada grupo se convierte a su dígito hexadecimal equivalente. Cuando es necesario se añaden ceros para completar un grupo de cuatro bits.

11101001102 = 0011 1010 0110

3 A 6

11101001102 = 3A616



Enlace

No hay comentarios:

Publicar un comentario