Conversiones — Byte y Bit

Antes de explicar como hacer conversiones entre las distintas bases númericas (Ya sea hexadecimal, decimal, entre otros) tenemos que tener en claro las definiciones de las unidades de almacenamiento más básicas, que son el Bit y el Byte.

¿Que es un bit? 

Es la unidad de almacenamiento más pequeña que puede tomar un ordenador. Sus valores se limitan a sólo dos, tomando el valor de 0 o de 1. Por lo tanto, es un tipo de dato binario, ya que de esta manera, es mucho más sencillo de interpretar por los dispositivos electrónicos.

¿Que es un byte? 

Un byte no es más que un conjunto de bits, que trabajan como una sola unidad de medida mucho más grande, capaces de almacenar datos de mayor complejida. Esta unidad es un multiplo de bits, siendo su equivalente en esta unidad de 8, es decir, 8 bits equivalen a 1 byte.

Actualmente se trabaja mucho con los terminos de Byte, adquiriendo valores de mayor frecuencia como serian Kilobyte, Megabyte, Gigabyte, entre otros. Estos son conceptos básicos que nos permitiran entender que tipo de almacenamiento trabaja un sistema informatico, y tener una mejor compresión de todo lo relacionado al sistema binario, como sus conversiones a otra base, materia que se explicara a continuación.

Conversión de sistemas de base númerica

De cualquier base a decimal: Para transformar números de cualquier base a su correspondiente decimal, solo se necesita multiplicar cada digito de izquierda a derecha por la base que se desea convertir, elevado a la potencia usando como referencia el numero de digitos que compone el numero (Ejemplo: si tiene 5 digitos, y es binario, el primero sera multiplicado por 2^4, el segundo por 2^3 y asi sucesivamente hasta 2^0), y el resultado en decimal, sera la suma de todas esas multiplicaciones. Pongamos dos ejemplos:

10(2) = 1*(2^1) + 0*(2^0)= 2 + 0 = 2(10)
A58(16) = 10*(16^2) + 5*(16^1) + 8*(16^0) = 2560 + 80 + 8= 2648(10)

De decimal a cualquier base: Para hacer esta conversión, solo basta con dividir el numero decimal entre la base que se desea convertir hasta el minimo valor, usando una división parte entera (Donde el ultimo digito de la división sera antes de pasar al valor decimal del resultado de la misma). Pongamos un ejemplo para un mayor entendimiento.

560(10) — ()(2)

Empezamos dividiendo:

560/2 = 280 con resto 0 (Este 0 es el bit más próximo al punto binario)
280/2= 140 con resto 0 (Este 0 es el bit a la izquierda del 0 obtenido arriba)
140/2= 70 con resto 0 (Este 0 es el bit a la izquierda del 0 obtenido arriba)
70/2= 35 con resto 0 (Este 0 es el bit a la izquierda del 0 obtenido arriba)
35/2= 17 con resto 1 (Este 1 es el bit a la izquierda del 0 obtenido arriba)
17/2= 8 con resto 1 (Este 1 es el bit a la izquierda del 1 obtenido arriba)
8/2= 4 con resto 0 (Este 0 es el bit a la izquierda del 0 obtenido arriba)
4/2= 2 con resto 0 (Este 0 es el bit a la izquierda del 0 obtenido arriba)
2/2= 1 con resto 0 (Este cero es el bit a la izquierda del 0 obtenido arriba)
Con 1 no se puede continuar dividiendo pero se coloca éste a la izquierda del cero obtenido arriba, quedando como bit de mayor peso.

Por lo tanto nuestro numero en binario seria: (1000110000)(2)

Si se va a convertir un numero fraccionario, a todo el número en cuestión se debe ir multiplicando por la base a la que se desea convertir y el numero se va conformando a partir del entero resultante de la multiplicación. Esta multiplicación SOLO se aplica en la parte fraccionaria, ejemplo:

0.625(10) — ()(2)

Empezamos multiplicando

0.625 x 2 = 1.250 (bit mas próximo al punto binario)
0.250 x 2 = 0.500 (bit a la derecha del uno obtenido anteriormente)
0.500 x 2 = 1.000 (bit a la derecha del cero obtenido anteriormente)

La operación concluye porque no queda parte fraccionaria para seguir multiplicando.

0.625(10) = 0.101(2)

De hexadecimal a binario: Para hacer esta conversión solo basta con colocar el equivalente de 4 bits en binario de cada digito en cuestión en el mismo orden que se presenta. Ejemplo:

A58(16)

A= 1010
5=  0101
8= 1000

Por lo tanto el resultado seria: 101001011000 (2)

De binario a hexadecimal: Se agrupan los digitos del numero de derecha a izquierda hasta 4 bits, separando los mismos y encontrando su equivalente en hexadecimal. Un ejemplo:

101001011000(2). Se agrupa de la siguiente manera: 10100 - 0101 - 1000
Y encontramos su equivalente en hexadecimal:

10100= A
0101= 5
1000= 8

Por lo tanto el resultado seria: A58(16)

Existe un caso que analizaremos con el siguiente ejemplo: 011(2). Para agrupar estos tres digitos se le agrega un 0 a la izquierda del primer numero (0011), para completar los 4 bits. Se encuentra su equivalente en hexadecimal y su resultado seria: 3

Share:

No hay comentarios:

Publicar un comentario

Publicaciones Populares

Publicaciones Recientes