viernes, 3 de marzo de 2017

Sistemas de numeración (y IX). Como llevar una cifra del sistema numerico hexadecimal al octal y viceversa

Esta es la última publicación de esta serie sobre sistemas numéricos y en donde describiré la forma de llevar un número del sistema hexadecimal al octal y viceversa. No se hable más y empecemos.

Para convertir un número del sistema de numeración hexadecimal al octal

Para llevar un número del sistema de numeración hexadecimal o base 16 al octal o base 8, primero hay que llevarlo a otro sistema, ya sea binario o decimal, siendo la forma más cómoda y rápida llevarlo al sistema de base dos o binario, para lo cual nos ayudaremos con la tabla mostrada en la publicación anterior y  que pongo nuevamente aquí llamándola tabla A:

Tabla A: Conversión entre decimal, binario y hexadecimal

Decimal
Binario
Hexadecimal
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F

Simplemente se procede como se explicó en la publicación anterior, esto es, se halla el equivalente en binario de cada cifra que conforman al número en hexadecimal. Una vez hecho esto, el número binario obtenido se llevará al sistema octal con la otra tabla mostrada en la anterior publicación, la cual coloco de nuevo aquí como tabla B y se hace el procedimiento descrito en dicha publicación, esto es, agrupando los números que conforman la cifra obtenida en binario y se hallan su equivalente en binario, de acuerdo al mostrado en la tabla:

Tabla B: Conversión entre decimal, binario y octal

Decimal
Binario
Octal
0
000
0
1
001
1
2
010
2
3
011
3
4
100
4
5
101
5
6
110
6
7
111
7

Hagamos un ejemplo, recordemos que los números hexadecimales se escriben entre paréntesis con un subindice igual a 16 para evitar confusiones con números similares escritos en otros sistemas de numeración. Vamos a llevar la siguiente cifra en hexadecimal al sistema octal:
(F5A)16

Buscamos el equivalente de cada cifra que conforma a este número, es decir buscamos el equivalente en binario de A, de 5 y de F comenzando de derecha a izquierda, es decir de la cifra menos significativa, que es A hasta la cifra más significativa que es F, de acuerdo a lo mostrado en la tabla A:
A = 1010
5 = 0101
F = 1111

Se tiene que:
(F5A)16 = (111101011010)2

La cifra obtenida anteriormente se llevará al sistema octal usando el procedimiento descrito en la publicación anterior, esto es, agrupar los números que conforman la cifra obtenida en grupo de tres comenzando desde la cifra menos significativa, o sea desde la derecha, hasta la cifra más significativa, es decir, hasta la izquierda, en caso que el último grupo de cifras tenga menos de tres cifras se completan con ceros a la izquierda:
(111101011010)2 =>111  101  011  010

De izquierda a derecha y de acuerdo con lo mostrado en la tabla B:
010 = 2
011 = 3
101 = 5
111 = 7

Entonces se tiene que:
(111101011010)2 = (7532)8

Hecho esto se tiene que (F5A)16 es igual en octal a (7532)8

(F5A)16 = (7532)8

Para convertir un número del sistema de numeración octal al hexadecimal

Para llevar un número del sistema de numeración octal o base 8 al hexadecimal o base 16, haremos el procedimiento anteriormente, convertimos primero el número en binario y luego llevamos ese número obtenido al sistema hexadecimal, para lo cual nos ayudaremos con las tablas mostradas arriba

Hagamos un ejemplo, recordando que los números octales se escriben entre paréntesis con un subindice igual a 8 para evitar confusiones con números similares escritos en otros sistemas de numeración. Vamos a llevar la siguiente cifra en octal sistema hexadecimal:
(147)8

Buscamos el equivalente de cada cifra que conforma a este número, es decir buscamos el equivalente en binario de 1, de 4 y de 7 comenzando de derecha a izquierda, es decir de la cifra menos significativa, que es 7 hasta la cifra más significativa que es 1, usando la tabla B:
7 = 111
4 = 100
1 = 001

Se tiene que:
(147)16 = (111100001)2

La cifra obtenida anteriormente se llevará al sistema hexadecimal usando el procedimiento descrito en la publicación anterior, esto es, agrupar los números que conforman la cifra obtenida en grupo de cuatro comenzando desde la cifra menos significativa, o sea desde la derecha, hasta la cifra más significativa, es decir, hasta la izquierda, en caso que el último grupo de cifras tenga menos de cuatro cifras se completan con ceros a la izquierda:
(111100001)2 =>1  1110   0001

Como hay una sola cifra en el último grupo, que es el ubicado a la izquierda, se completara con 0, los cuales se colocan a la izquierda hasta tener cuatro cifras en el grupo, como solo hay una entonces se colocarán tres 0:
(111100001)2 =>1  1110   0001 => 0001 1110 0001

Hecho esto buscamos los valores en hexadecimal de cada grupo de cuatro cifras, para lo cual usaremos la tabla A. Entonces de izquierda a derecha:
0001 = 1
1110 = E
0001 = 1

Entonces se tiene que:
(111100001)2 = (1E1)16
Hecho esto, se tiene que (F5A)16 es igual en octal a (7532)8

(F5A)16 = (7532)8


Bueno esto es todo en esta publicación y en esta serie. Si tienen alguna duda o sugerencia no tengan pena y comenten.

No hay comentarios.:

Publicar un comentario