Binario,Octal y Hexadecimal

Cuando hablamos de contar normalmente usamos un sistema numérico, pero, que pasa si en lugar de contar en decenas contamos en pares o de 8 en 8.

Eso Timmy es un sistema numérico de una base n.

Estamos en un curso de Electrónica digital, así que la que se usa aquí es base 2. Osea un 0 y 1 como símbolos para usar.

Y si, en un sistema base n puede representar cualquier número.

Conversiones

¿Y cómo lo conviertes?

Hay varias maneras.

Por Tablas

Para conversión de base 2 a base 10 usamos esta tabla

Base 2

Entonces para usarla solo colocamos nuestro número en binario.

Ejemplo: Convertir el siguiente número a base 10: 11101

 base 2 29

Y sumamos sus respectivos valores:

entonces será 1+0+4+8+16= 29 base 10.

Esta es una de las maneras de convertir. Y si queremos convertir de base 10 a base 2 solamente le vamos restando a nuestro número.

Usa primero el número más grande que encuentres tal que sea menor o igual a tu número a convertir. Se lo restas y vuelves a buscar.

Después todos los demás que queden vacíos coloca un cero.

Por Divisiones.

Otra manera es tomar nuestro número e irlo dividiendo entre la base.

con el 29 a base 2.

Dividimos 29/2=14 con residuo 1

Usamos el resultado y lo volvemos a dividir.

Dividimos 14/2=7 con residuo 0

Dividimos 7/2=3 con residuo 1

Dividimos 3/2=1 con residuo 1

Entonces el resultado es la concatenación de los residuos.

29 en binario es 1011.

Octal y Hexadecimal

Ya que son unos ninjas en binario, vamos a aprender cómo convertir entre diferentes sistemas numéricos. Nos vamos a enfocar en el sistema Octal y en el Hexadecimal.

C-1

¡Vamos con todos los ánimos!

Primero vamos a definir algo, ¿qué demonios son los sistemas numéricos?

Bueno, los números pueden representarse en diversos sistemas. La base de éstos es el número de símbolos distintos utilizados para la representación de cantidades, por ejemplo, el que usamos comúnmente es el decimal, un sistema donde usamos los números del 0 al 9.

Así es, amigos, el sistema decimal no es el único que existe. Existen muchos, muchos más.

Como lo expresé antes, en esta lección vamos a hablar de dos sistemas: el octal y el hexadecimal.

El sistema octal (sistema de base 8), es un sistema numérico que utiliza los dígitos del 0 al 7 (¿Te das cuenta que sólo usa 8 números? ¡Exacto! Por eso tiene ese nombre).

El sistema hexadecimal (sistema de base 16), es un sistema numérico que utiliza los dígitos del 0 al 9 y las letras A, B, C, D, E y F.

Ya vimos en qué consisten estos dos sistemas. Ahora, ¿cómo podemos hacer una conversión de nuestro sistema (decimal) a estos dos y viceversa? Bueno, aquí estoy para ayudarte a saberlo.

C-2

Conversión Entre Diferentes Sistemas

La conversión entre sistemas numéricos es como traducir de un idioma a otro. Para esto podemos utilizar 3 herramientas, pues usar la que más te acomode o se te facilite:

  1. Directa: Aquí las conversiones se hacen usando los valores posicionales de los números (la posición de los dígitos).
  2. Por tablas: Se realiza mediante el uso de tablas establecidas con las que se lleva a cabo la magia de la conversión.
  3. Con una calculadora o una computadora (con el bello internet).

Conversión de decimal a octal.

A ver, chava o chavo. Vas a ver que esto es muy fácil de hacer. Muchos profes o amigos tuyos te lo harán ver como algo imposible, pero yo que soy barrio te voy a echar una mano.

La conversión de decimal a octal se realiza dividiendo sucesivamente el número decimal entre 9, hasta que el cociente sea 0. El número octal se forma con los residuos resultantes.

El dígito más significativo (MSD) es el último residuo y el dígito menos significativo (LSD) es el primero.

C-3

¿No quedó claro? ¡Calma!

Vamos a hacer un ejemplo. Quiero convertir el número 38910 (ese 10 pequeño significa que el número 389 está en sistema decimal) a sistema octal.

Veamos.

octal1

Primero, vamos a dividir 389 entre 8. Como el residuo de la división es 5 (debería de ser 0) vamos a volver a dividir. Ahora vamos a dividir el número 48 entre 8.

Octal2

Después de volverlo a dividir, notamos que el residuo ahora nos da 0 ¿Qué procede entonces?

El primer número que se va a poner va a ser el cociente de la última división, en este caso es el 6. Después, siguen los residuos, del último obtenido, al primero; en este caso el último residuo que obtuvimos fue 0 y el primero fue el 5.

 

Por lo tanto, nuestro número en sistema octal es el 605.

c-4

Veamos un ejemplo más. Quiero convertir 74310 a octal.

octal3

Como podrás ver, el residuo no da 0 todavía. Entonces procedemos a hacer una división más.

octal4

Todavía no es cero. Haremos las divisiones necesarias hasta que el residuo nos dé 0.

octal5

¿Te das cuenta que esto no puede continuar? No podemos dividir 1 entre 8 para que nos de residuo de 0 ¿Qué procede en este caso?

Pues aquí haremos lo mismo que en el ejercicio pasado. Vamos a tomar el cociente de la última división, en este caso es el 1, y finalmente vamos a acomodar los residuos desde el último obtenido, hasta el primero, en este caso será el número 3, 4 y finalmente el número 7

Por lo tanto, nuestro resultado será 1347.

C-5 

Ya quedó mejor, ¿no? Eres un máster convirtiendo de decimal a octal.

Conversión de Octal a Decimal

Ahora, vamos a ver cómo hacer el método contrario. Verás que es mucho más fácil. Yo sé que estas conversiones pueden ser algo tediosas para ti, pero con el tiempo y práctica esto se te hará pan comido.

La conversión se va a realizar con la siguiente, hermosa y bella fórmula:

N = an bn + an-1 bn-1             0 <= ai < b

Chécate este ejemplo.

Quiero convertir el número 3178 a sistema decimal.

Pues esto se hace tan sencillo como usar nuestra bella fórmula:

3(82) + 1(81) + 7 (80) = 192 + 8 + 7 = 20710

¿Viste qué fácil y rápido fue?

Si quieres, hagamos otro ejemplo. Quiero ahora convertir 11328 a decimal.

Usemos la fórmula, de nuevo:

            1(83) + 1(82) + 3(81) + 2(80) = 512 + 64 + 24 + 2 = 602.

c-6

¿Ves como si se hace cada vez más fácil?

Conversión de decimal a hexadecimal.

Ya que vimos todo el choro mareador con el método anterior. Te vas a dar cuenta que es casi lo mismo y, por lo tanto, más fácil. A todos nos encanta lo fácil.

Debido a que el sistema hexadecimal sobrepasa en elementos al sistema decimal, es necesario auxiliarse de los siguientes símbolos con su valor correspondiente.

 

A – 10                B – 11             C – 12             D – 13             E – 14             F – 15

Vamos a ver que el método de conversión es el mismo.

 

Ejemplo. Vamos a convertir 2710 a hexadecimal.

octal6

¿Qué diferencia notas aquí en cuanto a la conversión de decimal a octal? ¡Exacto! Aquí se divide el número a convertir entre 16. Porque recordemos que el sistema hexadecimal es un sistema de base 16. Otra diferencia es que el residuo, en este caso el 11, lo vamos a sustituir con su valor correspondiente en el sistema, la letra B.

octal7

Nos pasó lo mismo que en el ejemplo anterior, el número 16 no puede dividir al número 1. Entonces hemos terminado.

Por lo tanto, el resultado de la conversión es 01B, pero, como el 0 no se anota, el resultado es 1B.

¡Pan comido!

 

Conversión de hexadecimal a decimal.

Estamos ante la última parte de esta lección. Y la más fácil va a ser. Porque, ¡vamos a aplicar el mismo formulazo!

N = an bn + an-1 bn-1            0 <= ai < b

Terminemos esto con un ejemplo. Convertir AF1216 a decimal.

Primero, recordemos que F = 15

Entonces:

10(163) + 15(162) + 1(161) + 2(160) = 40960 + 3840 + 16 + 2 = 4481810

 

Chicas, chicos, puedo decir que terminamos una lección más con éxito. Vayan a relajar un poco los ojos, ya vieron que esto es muy fácil.

C-7

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s