Las conversiones entre Sistemas de numeración son muy sencillas, siempre y cuando se tenga un buen orden y precisión, la manera mas sencilla de hacer las conversiones a Octal y Hexadecimal, es partiendo del sistema binario, (aunque también se puede directamente desde el sistema decimal).
La conversión de un número decimal a número binario es un proceso muy fácil es basicamente divisiones sucesivas por 2, se trabaja siempre con resultados enteros.
Ejemplo:
decimal = 5
5/2 = 2 ---- 1(residuo)
ahora se divide
2/2=1 ---- 0(residuo)
Se toma el ultimo resultado y los residuos en este caso es 101(que es el numero 5 en sistema binario).
Decimal = 543
543/2
272 --- 1(residuo)
271/2
135 ---- 1(residuo)
135/2
67 --- 1(residuo)
67/2
33 --- 1(residuo)
33/2
16 ---- 1(residuo)
16/2
8 ---- 0(residuo)
8/2
4 ---- 0(residuo)
4/2
2 ---- 0(residuo)
2/2
1 ---- 0(residuo)
Ahora tomamos el ultimo resultado y todos los residuos en orden ascendente es decir:
1000011111 [ ESTE ES NUESTRO NUMERO EN BINARIO ]
Para comprobar si la conversion esta bien lo que tenemos que hacer es, coger el numero binario y empezar a elevarlo de derecha a izquierda empezando las potencias desde 0(cero), es decir de esta manera:
19080706051413121110
Después tomamos solo los valores positivos es decir los unos (1) y los multiplicamos por 2 elevado a la potencia correspondiente, y después sumamos todos estos valores y obtenemos el número decimal.
(1*29) + (1*24) + (1*23) + (1*22) + (1*21) + (1*20) =
512 + 16 + 8 + 4 + 2 + 1 = 543
Ejemplo:
Numero = 19180716051413021110
Comprobación:
(1*29) + (1*28) + (1*26) + (1*24) + (1*23) + (1*21) + (1*20) =
512 + 256 + 64 + 16 + 8 + 2 + 1 =859
La conversión de Binario a Hexadecimal, es sencilla, lo que se hace es agrupar el numero binario en grupos de tres cifras de derecha a izquierda, es decir:
1101011011 <-- este es nuestro numero en binario
lo agrupamos de a tres cifras empezando en la ultima cifra de la derecha, así:
001 / 101 / 011 / 011 nota:"completamos con ceros (0) cuando sea necesario"
Ahora elvamos cada grupo a la potencia de su posicion menos uno, es decir
020110 / 120110 / 021110 / 021110
y ahora multiplicamos los valores por las potencias en base 2, y sumamos, así :
(1*20) / (1*22)+(1*20) / (1*21)+(1*20) / (1*21)+(1*20)
1 4 + 1 2 + 1 2 + 1
1 5 3 3 =15338"nuestro numero
en Octal"
Para hacer la comprobación lo unico que hay que hacer es multiplicar el valor de así cifra por el 8 elevado a la posición de la cifra menos uno (1), así:
13523130
(1*83) + (5*82) + (3*81) + (3*80)
512 + 320 + 24 + 3 = 85910
Esta Conversión es básicamente la conversión de Octal a Binario, con la diferencia de que ahora las cifras se agrupan de a cuatro (4).
1101011011
0011 / 0101 / 1011
También elevamos cada cifra por la su posición menos uno(1).
03021110 / 03120110 / 13021110
y ahora multiplicamos los valores por las potencias en base 2, y sumamos, así :
(1*21)+(1*20) / (1*22)+(1*20) / (1*23)+(1*21)+(1*20)
2 + 1 4 + 1 8 + 2 + 1
3 5 11 <-- OJO "para números mayores a 9 se usa la tabla ASCII"
"Click Aqui", para ver la tabla ASCII
Aquí hay otras conversiones:
- 731
Binario
Comprobacion:
19 08 17 16 05 14 13 02 11 10
(1*29)+(1*27)+(1*26)+(1*24)+(1*23)+(1*21)+(1*20)=
512 + 128 + 64 + 16 + 8 + 2 + 1 = 731
Octal
020110 / 021110 / 021110 / 021110
(1*20)/(1*21)+(1*20)/(1*21)+(1*20)/(1*21)+(1*20)
1 / 2+1 / 2+1 / 2+1 = 1333
Comprobación
(1*83)/(1*32)+(1*81)/(1*80)
512 + 192 + 24 + 3 =731
Hexadecimal
03021100 / 13120110 / 13021110
(1*21) / (1*23)+(1*22)+(1*20) / (1*23)+(1*21)+(1*20) =
2 / 8+4+1 / 8+2+1 =
2 13 11 = 2DB <-- "Nota. Revisar la tabla ASCII, para saber el valor final en sistema Hexadecimal"
Comprobación
22 D1 B0 "recuerda los valores de las letras según la tabla ASCII"
19 08 17 16 05 14 13 02 11 10
(1*29)+(1*27)+(1*26)+(1*24)+(1*23)+(1*21)+(1*20)=
512 + 128 + 64 + 16 + 8 + 2 + 1 = 731
Octal
020110 / 021110 / 021110 / 021110
(1*20)/(1*21)+(1*20)/(1*21)+(1*20)/(1*21)+(1*20)
1 / 2+1 / 2+1 / 2+1 = 1333
Comprobación
(1*83)/(1*32)+(1*81)/(1*80)
512 + 192 + 24 + 3 =731
Hexadecimal
03021100 / 13120110 / 13021110
(1*21) / (1*23)+(1*22)+(1*20) / (1*23)+(1*21)+(1*20) =
2 / 8+4+1 / 8+2+1 =
2 13 11 = 2DB <-- "Nota. Revisar la tabla ASCII, para saber el valor final en sistema Hexadecimal"
Comprobación
22 D1 B0 "recuerda los valores de las letras según la tabla ASCII"
(2*162) + (D*161) + (B*160)
512 + 208 + 11 = 731
512 + 208 + 11 = 731