Issuu on Google+

18/07/2013

Universidad Católica de El Salvador Facultad de Ingeniería y Arquitectura Programación I, Sección A Docente: Ma. Ing. Giovanni Acosta

CONVERSIÓN ENTRE BASES Objetivos: • Conocer el proceso de conversión entre diferentes bases de numeración. • Realizar conversiones de binario a decimal, octal y hexadecimal. • Realizar conversiones de octal a binario y de hexadecimal a binario. • Realizar conversiones de base “r” a base “s”.

Sistema de numeración Binario • Estructura de Pesos de los Números Binarios: 1.

Un número binario es un número con peso. El bit más a la derecha es el bit menos significativo (LSB, Least Significant Bit) en un número entero binario y tiene un peso de 20 = 1.

2.

Los pesos de los respectivos bits crecen de derecha a izquierda según las potencias de dos. El bit más a la izquierda es el bit más significativo (MSB, Most Significant Bit), y su peso depende del tamaño del número binario.

3.

Los números con parte fraccionaria también se pueden representar en binario, colocando bits a la derecha de la coma binaria.

1


18/07/2013

Conversión de decimal a binario Método 1 1.

Método de división sucesiva por 2: • Los restos generados en cada división forman el número binario. El primer resto es el bit binario menos significativo (LSB) y el último resto es el bit más significativo (MSB) del número binario.

249

LSB

1

2 124

2

0

62

2

0

31 1

2 15 1

2 7

2

1

3

2

1

1

2

1

0

MSB

Conversión de decimales fraccionarios a binario: • Los números decimales enteros se pueden convertir a números binarios mediante la división sucesiva por 2. • Los números decimales fraccionarios pueden convertirse en números binarios mediante la multiplicación sucesiva por 2. Se multiplica cada parte fraccional resultante del producto por 2, hasta que el producto fraccionario sea cero o hasta que se alcance el número deseado de posiciones decimales.

2


18/07/2013

Ejemplo: • Convertir 6.83 a binario 6

LSB

2 0

3

2 1

1 1

2 0

MSB

0,83 x 0,66 x 0,32 x 0,64 x 0,28 x 0,56 x 0,12 x 0,24 x 0,48 x 0,96 x 0,92 x 0,84 x

2= 2= 2= 2= 2= 2= 2= 2= 2= 2= 2= 2=

1,66 => 1 1,32 => 1 0,64 => 0 1,28 => 1 0,56 => 0 1,12 => 1 0,24 => 0 0,48 => 0 0,96 => 0 1,92 => 1 1,84 => 1 1,68 => 1

MSB

LSB

En orden: 110101000111 Parte entera: 110 Parte entera y fraccionaria: 110,110101000111

Conversión de decimal a binario Método 2 2.

Método de suma de pesos: • Otra forma de calcular el número binario equivalente a un número decimal dado es determinar el conjunto de pesos binarios, cuya suma es igual al número decimal. • Procedimiento: se comienza restando los valores de los bits (potencias de 2) más cercanos al valor decimal hasta llegar a cero, luego se completa con ceros los valores faltantes entre los bits.

3


18/07/2013

Ejemplo: • Convertir 150 decimal a binario. • La potencia de 2 más cercana a 150 es 128 (2 a la 7ª , Octavo Bit) 150 – 128 = 22 • La potencia de 2 más cercana a 22 es 16 (2 a la 4ª , Quinto Bit) 22 – 16 = 6 • La potencia de 2 más cercana a 6 es 4 (2 ala 2ª , Tercer Bit) 6 – 4 = 2 • La potencia de 2 más cercana a 2 es 2 (2 ala 1ª , Segundo Bit) 2 – 2 = 0

150 = 10010110

Ejemplo: Convertir 150 de decimal a binario: MSB

LSB

Potencia de 2

2 a la 7ª

2 a la 6ª

2 a la 5ª

2 a la 4ª

2 ala 3ª

2 a la 2ª

2 a la 1ª

2 a la 0

Valor del Bit

128

64

32

16

8

4

2

1

1

1

1

1

Binario (conocido)

1

Binario (completar) Conversión

1

1 0

0

0

0

0 1

0

0 0

150 = 10010110

4


18/07/2013

Ejercicios: • Convertir de decimal a binario: 1.

276

2.

189

Conversión de binario a decimal • El valor decimal de cualquier número binario se puede determinar sumando los pesos de todos los bits que son 1, y descartando los pesos de todos los bits que son 0.

5


18/07/2013

Ejemplo: • Convertir el número entero binario 1101101 a decimal. • Se determina el peso de cada bit que está a 1, y luego se obtiene la suma de los pesos para obtener el número decimal:

Ejemplo: • Convertir el número binario fraccionario 0,1011 en decimal. • En primer lugar se determina el peso de cada bit que está a 1, y luego se suman los pesos para obtener la fracción decimal:

6


18/07/2013

Conversión de octal a decimal • La evaluación de un número octal en términos de su equivalente decimal se consigue multiplicando cada dígito por su peso y sumando los productos.

Ejemplo:

7


18/07/2013

Conversión de hexadecimal a decimal • Método 1: para encontrar el equivalente decimal de un número hexadecimal, primero, convertir el número hexadecimal a binario, y después, el binario a decimal.

Ejemplo: método 1 • Convertir a decimal el número hexadecimal: A8516 • Primero, hay que convertir a binario el número hexadecimal, y después a decimal:

8


18/07/2013

Conversión de hexadecimal a decimal • Método 2: para convertir un número hexadecimal a su equivalente decimal, multiplicar el valor decimal de cada dígito hexadecimal por su peso y luego realizar la peso, suma de estos productos.

Ejemplo: método 2 • Convertir a decimal: E516

9


18/07/2013

Conversión de octal a binario • Puesto que cada dígito octal se puede representar mediante un número binario de 3 dígitos, para convertir un número octal en un número binario, simplemente se remplaza cada dígito por el correspondiente grupo de tres bits. • Cada dígito octal se representa mediante tres bits, como se muestra en la siguiente tabla:

Ejemplos: • Convertir a binarios los siguientes números octales:

10


18/07/2013

Conversión de binario a octal • La conversión de un número binario a un número octal es el inverso de la conversión de octal a binario. • El procedimiento es el siguiente: se comienza por el grupo de tres bits más a la derecha y, moviéndose de derecha a izquierda, se convierte cada grupo de 3 bits en el dígito octal equivalente. • Si para el grupo más a la izquierda no hay disponibles tres bits, se añaden uno o dos ceros para completar el grupo. Estos ceros no afectan al valor del número binario.

Ejemplo: • Convertir a octal los siguientes números binarios:

11


18/07/2013

Conversión de binario a hexadecimal • El procedimiento de conversión de un número binario a hexadecimal consiste en los siguientes pasos: a)

Se parte el número binario en grupos de 4 bits, comenzando por el bit más a la derecha; y

b)

Se remplaza cada grupo de 4 bits por su símbolo hexadecimal equivalente.

Ejemplo: • Convertir a hexadecimal los siguientes números:

12


18/07/2013

Conversión de hexadecimal a binario • Para convertir un número hexadecimal en un número binario se realiza el proceso inverso, remplazando cada símbolo hexadecimal, por el grupo de cuatro bits adecuados.

Ejemplo: • Determinar los números binarios que correspondan a los siguientes números hexadecimales:

13


18/07/2013

Conversión de una base “r” a base “s” • El problema general de convertir un número de su representación en base r a la correspondiente en base s se puede resolver en un sólo paso si se maneja aritmética de base r o de base q, sin embargo, si se quiere usar en el proceso solamente aritmética de base 10 se debe plantear en dos etapas

Caso particular. conversión entre bases rk y r • Cuando una de las bases involucradas en la conversión es una potencia entera de la otra la conversión se vuelve muy sencilla, ya que se puede realizar en un sólo paso expresando cada dígito del número en base rk usando k dígitos de base r. Además, este procedimiento no requiere aritmética de ningún tipo.

14


18/07/2013

Ejemplo: • Convertir N=(10111011110)2 a base 8 y a base 16 • para base 8: Como 8 = 23, bastará con representar cada 3 dígitos del número binario en octal como se muestra a continuación.

• para base 16: como 16=24 , en forma similar al caso anterior

Ejercicios: 1. Convertir de binario a decimal a) 110012 b) 10110110112 2. Convertir de decimal a binario a) 86910 b) 842610 3. Convertir de binario a octal a) 1110101012 b) 11011,012 4. Convertir de octal a binario a) 20668 b) 142768

5. Convertir de binario a hexadecimal a) 1100010002 b) 100010,1102 6. Convertir de hexadecimal a binario a) 86BF16 b) 2D5E16 7. Convertir de octal a decimal a) 1068 b) 7428 8. Convertir de decimal a octal: a) 23610 b) 5274610

15


18/07/2013

Soluciones: 1. De binario a decimal a) 110012 Solución: 2510 b) 10110110112 Solución: 73110

5. De binario a hexadecimal a) 1100010002 Solución: 18816 b) 100010,1102 Solución: 22,C16

2. De decimal a binario a) 86910 Solución: 11011001012 b) 842610 Solución: 100000111010102

6. De hexadecimal a binario a) 86BF16 Solución: 10000110101111112 b) 2D5E16 Solución: 0101101010111102

3. De binario a octal a) 1110101012 Solución: 7258 b) 11011,012 Solución: 33,28

7. De octal a decimal a) 1068 Solución: 7010 b) 7428 Solución: 48210

4. De octal a binario a) 20668 Solución: 0100001101102 b) 142768 Solución: 0011000101111102

8. De decimal a octal: a) 23610 Solución: 3548 b) 5274610 Solución: 1470128

16


clase 3