DE BINARIO A DECIMAL:
Para poder transformar números binarios en su correspondiente decimal basta multiplicar el dígito binario (que sólo puede ser 0 o 1) por 2 elevado a la potencia correpondiente a la distancia de ese símbolo al punto decimal. Luego se suman los valores obtenidos y se consigue el número final.
Ejemplos:
102 = 1x21 + 0x20 = 1x2 + 0x1 = 2 + 0 = 210
1012 = 1x22 + 0x21 + 1x20 = 1x8 + 1x4 + 0x2 + 1x1 = 4 + 0 + 1 = 510
10012 = 1x23 + 0x22 + 0x21 + 1x20 = 1x8 + 0x4 + 0x2 + 1x1 = 8 + 0 + 0 + 1 = 910
Y para número fraccionarios:
0.0112 = 0x2-1 + 1x2-2 + 1x2-3 = 0x0.5 + 1x0.25 + 1x0.125 = 0 + 0.25 + 0.125 = 0.37510
0.1012 = 1x 2-1 + 0x 2-2 + 1 x 2-3 = 1x0.5 + 0x0.25 + 1 x0.125 = 0.5 + 0 + 0.125 = 0.62510
110.0102 = 1x22 + 1x21 + 0x20 + 0 x 2-1 + 1 x 2-2 + 0 x 2-3
1x4 + 1x2 + 0x1 + 0x0.5 + 1x0.25 + 0x.125
4 + 2 + 0 + 0 + 0.25 + 0
6.2510
Como se ve en los ejemplos el punto decimal aparece automáticamente en la posición correcta una vez efectuada la suma de los componentes.
DE DECIMAL A BINARIO:
Aquí veremos el método de divisiones y multiplicaciones sucesivas.
Para convertir un némero ENTERO decimal a una nueva base, el número decimal es sucesivamente dividido por la nueva base. Como en nuestro caso la nueva base es 2 el número será sucesivamente dividido por 2, O sea, el número original es dividido por 2, el resultado de ese cociente es dividido por 2 sucesivamente hasta que el cociente de 0. El resto de cada división es un número binario que conforma el número resultante de la conversión. El primer resultado producido (el primer resto obtenido) corresponde al bit mas próximo al punto decimal (o lo que se conoce como bit de menor peso). Los sucesivos bits se colocan a la izquierda del anterior. Notese que esto es como escribir en sentido contrario al empleado normalmente.
Veamos esto con un ejemplo:
Convertiremos a binario el número 1810
18 / 2 = 9 y resta 0 (este cero es el bit mas próximo al punto binario)
9 / 2 = 4 y resta 1 (este uno es el bit que le sigue a la izquierda al cero obtenido arriba)
4 / 2 = 2 y resta 0 (este cero es el bit que le sigue a la izquierda al uno obtenido arriba)
2 / 2 = 1 y resta 0 (este cero es el bit que le sigue a la izquierda al cero 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.
Entonces, 1810 = 100102.
En el caso de convertir un número decimal FRACCIONARIO, la parte fraccionaria debe ser multiplicada por 2 y el número binario es formado por 0's o 1's que aparecen en la parte correspondiente al entero. Solo que en este caso el número binario se escribe de izquierda a derecha, a diferencia de lo explicado antes para los números enteros. Las multiplicaciones se efectúan SOLO sobre la parte fraccionaria del número por lo que siempre serán 0.XXX. Nunca debe multiplicar 1.XXX. El proceso de multiplicaciones sucesivas concluye cuando quedan en cero la parte entera y la fraccionaria.
En este ejemplo convertiremos el número fraccionario 0.62510
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.62510 = 0.1012
Pueden ocurrir situaciones donde cualquier número multiplicado por 2 nunca llegue a cero Esto causa que el número binario obtenido sea aproximado, como se observa en el ejemplo de abajo:
0.610
0.6 x 2 = 1.2 (bit mas próximo al punto binario)
0.2 x 2 = 0.4 (bit a la derecha del uno obtenido arriba)
0.4 x 2 = 0.8 (bit a la derecha del cero obtenido arriba)
0.8 x 2 = 1.6 (bit a la derecha del cero obtenido arriba)
0.6 x 2 = 1.2 (bit a la derecha del uno obtenido arriba)
0.2 x 2 = 0.4 (Retorna a la situación inicial... Ver segunda línea del proceso)
CONVERSIÓN DE DECIMAL A OCTAL:
En esta caso basta usar el mismo método de conversión con los números binarios. Pero en vez de hacer divisiones sucesivas por 2 hay que efectuarlas por 8. Nótese que el divisor corresponde a la base del sistema al cual se va a convertir. Lo mismo sucede con las multiplicaciones sucesivas, necesarias para convertir números fraccionarios.
Ejemplo 1: Convertir 24510
245 / 8 = 30 y resta 5 (dígito mas próximo al punto octal)
30 / 8 = 3 y resta 6 (dígito a la izquierda del 5 obtebido arriba)
No se puede seguir dividiendo, por lo que el 3 queda como dígito de mayor peso a la izquierda del 6 obtenido arriba.
Resultado: 24510 = 3658
Ejemplo 2: Convertir 17510
175 / 8 = 21 y resta 7 (dígito mas próximo al punto octal)
21 / 8 = 2 y resta 5 (dígito a la izquierda del 7 obtenido arriba)
No se puede seguir dividiendo, por lo que el 2 queda como dígito de mayor peso a la izquierda del 7 obtenido arriba.
Resultado: 17510 = 2578
Ejemplo 3: Convertir 0.43210
0.432 x 8 = 3.456 (dígito mas próximo al punto octal)
0.456 x 8 = 3.648 (dígito a la derecha del 3 obtenido arriba)
0.648 x 8 = 5.184 (dígito a la derecha del 3 obtenido arriba)
0.184 x 8 = 1.472 (dígito a la derecha del 5 obtenido arriba)
Resultado: 0.43210 = 0.33518
OBS.: Note que la la conversión no fué exacta.
CONVERSIÓN DE HEXADECIMAL A BINARIO:
Para efectuar la conversión basta con colocar los cuatro bits correspondientes a cada símbolo del número hexa respetando su posición original. Para saber el balor de cada símbolo sólo tiene que mirar la tabla de relación entre sistemas mostrada arriba.
Por ejemplo: Para convertir 7A216
7 A 2
0111 1010 0010
Resultado: 7A216 = 0111101000102
Otro ejemplo: Para convertir 3D4.F16
3 D 4 . F
0011 1101 0100 . 1111
Resultado: 3D4.F16 = 001111010100.11112
CONVERSIÓN DE BINARIO A HEXADECIMAL:
Primeramente hay que agrupar los bits de a cuatro comenzando por la derecha y siguiendo hacia la izquierda. Si bien en palabras cuya longitud sea múltiplo de cuatro esto no tiene obligatoriedad, en aquellas cuyo tamaño no sea multiplo de cuatro si selecciona de izquierda a derecha los grupos de bits quedarán mal conformados. Esto anterior para la parte entera. Para la parte fraccionaria el orden es inverso, o sea que se agrupa de izquierda a derecha. Nótese que siempre es del punto hacia afuera. Una vez formados los grupos basta con fijarse en la tabla de arriba y reemplazar cada grupo por el símbolo Hexa correspondiente.
Nada mejor que unos ejemplos:
Ejemplo 1: Convertir 1010110100102
1010 1101 0010
A D 2
Resultado: 1010110100102 = AD216
Ejemplo 2: Convertir 101110101102
101 1101 0110
5 D 6
Resultado: 101110101102 = 5D616
Ejemplo 3: 1101011110.1012
0011 0101 1110 . 1010
3 5 E . A
Resultado: 1101011110.1012 = 35E.A16
OBS: Cuando un grupo de bits de la parte entera queda formado por menos de cuatro bits sus posiciones a la izquierda deben ser asumidas como ceros, las cuales verá que no surten efecto en el valor. En tanto cuando esto ocurra en la parte fraccionaria pas posiciones a la derecha son las que deben ser completadas con cero. Aquí si tiene efecto. En el ejemplo de arriba los ceros se colocaron reasaltados para facilitar su visualización.
CONVERSIÓN DE HEXADECIMAL A DECIMAL:
Los números hexa son convertidos a su equivalene decimal multiplicando el peso de cada posición por el equivalente decimal del dígito de cada posición y sumando los productos.
Entonces:
12116 = 1 x 162 + 2 x 161 + 1 x 160
1 x 256 + 2 x 16 + 1 x 1
256 + 32 + 1
28910
A1C16 A x 162 + 1 x 161 + C x 160
10 x 256 + 1 x 16 + 12 x 1
2560 + 16 + 12
258810
OBS: Los valores que sustituyen a las letras se obtienen de la tabla dada arriba.
CONVERSIÓN DE DECIMAL A HEXADECIMAL:
Se puede realizar empleando dos procesos: Divisiones sucesivas por 16, cuando el número es entero, o multiplicaciones sucesivas por 16, cuando el número es fraccionario. Siguiendo los mismos lineamientos empleados con los otros sistemas numéricos.
Ejemplo 1: 65010
650 / 16 = 40 y resta 10 = A (dígito mas próximo al punto hexadecimal)
40 / 16 = 2 y resta 8 (dígito a la izquierda del anterior)
No se puede continuar dividiendo, por lo que el 2 queda como símbolo mas significativo a la izquierda del anterior.
Resultado 65010 = 28A16
Ejemplo 2: 258810
2588 / 16 = 161 y resta 12 = C (dígito mas próximo al punto hexadecimal)
161 / 16 = 10 y resta 1 (Dígito siguiente a la izquierda del obtenido arriba)
No se puede seguir dividiendo, por lo que el diez (la A) queda como símbolo mas significativo a la izquierda del obtenido arriba
Resultado 258810 = A1C16
Ejemplo 3: 0.64210
0.642 x 16 = 10.272 (dígito mas próximo al punto hexadecimal) 1010=A16
0.272 x 16 = 4.352 (dígito siguiente a la derecha del anterior)
0.352 x 16 = 5.632 (dígito siguiente a la derecha del anterior)
0.632 x 16 = 10.112 (Dígito siguiente a la derecha del anterior) 1010=A16
Resultado 0.64210 = 0.A45A16
OBS.: Note que la conversión no fué exacta.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario