En este post os voy a dar una forma rápida de pasar de
binario a decimal y viceversa, sólo del 0 al 255.
Para ello vamos ha usar el peso… Bueno lo primero que
debemos saber es lo que es un bit y byte u octeto. Para los que utilizáis el
ordenador y no tenéis ni idea de lo que hay de tras, en algunos casos la pared,
¡toma chiste malo! Como iba diciendo el bit
es la unidad mínima de información. La unión de 8 de estos bits forman lo que
llamamos byte u octeto, ¡se le han calentado mucho la cabeza con el nombrecito! Una
vez dicho lo anterior, pasamos a lo importante. Pues ándale ya ¡güevón! Para
realizar la transformación utilizaremos el peso de cada bit dentro del octeto:
1º bit 1
2º bit 2
3º bit 4
4º bit 8 128 64 32 16 8 4 2 1
5º bit 16
6º bit 32
7º bit 64
8º bit 128
Por ejemplo si nos dan el número
binario 0 1 0
0 1 0
1 0 al posicionar cada cifra del número binario
bajo su peso nos quedará:
128 64 32 16 8 4 2 1
0 1 0 0 1 0 1 0
Al sumar los pesos de los bit que están sobre un “1” (64 + 8 + 2)
obtendremos el número decimal 74.
A que esta explicación es más
sencilla que las que nos daban en clase de mates.
Ahora intentaremos hacer lo
contrario. Tenemos que pasar un número decimal, insisto de 0 a 255, como el 187
a binario. Pues ¡vamos a ello! Lo que haremos primero será ir comparando con
los pesos de cada bit. Lo vamos a ir
haciendo paso a paso. Primero comparamos el número decimal que tenemos con el bit de mayor peso (128). ¿187 es mayor o
igual que 128? Sí, pues ponemos en el bit
8º un “1”.
128 64 32 16 8 4 2 1
1
Luego restamos 128 a 187 y nos dará
el número 59. Este número con el siguiente bit
de mayor peso (64). ¿59 es mayor o igual que 64? No, entonces ponemos en este bit (bit
7º) un “0”.
128 64 32 16 8 4 2 1
1 0
Seguimos comparando con el
siguiente bit de mayor peso (32). ¿Es
59 mayor o igual que 32? Sí, entonces pondremos un “1” en el bit 6º.
128 64 32 16 8 4 2 1
1 0 1
Ahora restaremos 32 menos 59 que
nos dará el número 27. Seguimos las comparaciones. Nos toca la comparación con
el 5º bit (16). ¿25 es mayor o igual
que 16? Sí, entonces ponemos un “1” la posición de este bit.
128 64 32 16 8 4 2 1
1 0 1 1
Restamos 16 a 27 y nos dará el
siguiente número para comparar (11). Vamos ahora con el bit 4º ¿11 es mayor o igual que 8? Sí, pues a colocar un “1” en el
siguiente lugar.
128 64 32 16 8 4 2 1
1 0 1 1 1
Y otra vez a restar, 8 menos 11 y
nos da 3. Comparemos ahora con el bit
3º (4). ¿3 es mayor o igual que 4? No, pues ponemos en esta posición un “0”.
128 64 32 16 8 4 2 1
1 0 1 1 1 0
Bueno esto ya es lo último, el
número 3 lo descomponemos en 2 y 1 que son los pesos de los bit 2º y1º con lo cual en la posición de
estos dos bit pondremos un “1”.
128 64 32 16 8 4 2 1
1 0 1 1 1 0 1 1
Ya tenemos el número binario que
nos pedían “1 0 1 1 1 0 1 1”.
128 64 32 16 8 4 2 1
0 1 0 1 1 0 0 0
Aunque esto parece largo de hacer,
no lo es. La explicación puede resultar
larga y pesada, pero sólo son unos pocos cálculos mentales, se puede
pasar cualquier número de binario a decimal y viceversa en pocos segundos.
Espero que os sirva de ayuda, sobre todo a los informáticos que se
empiecen a dedicar al Subneting y Superneting
¡Esto es de primero de informática!
ResponderEliminarBuena explicación.
Un Saludo.
Ya, pero hay informáticos que no tienen ni idea y buscan paginas para la conversión online. Creo que esto es más rápido ¿no?
ResponderEliminar