para empezar sabemos que el mundo binario son solamente 1 y 0 o sea 2 digitos ya tenemos nuestra base sera el 2
luego sabemos que 1 octeto tiene 8 bit's entonces tendremos el limite para el exponente
2^0 hasta 2^7 en cada octeto
entonces si vamos resolviendo las potencias tendremos
2^0 | 1 |
2^1 | 2 |
2^2 | 4 |
2^3 | 8 |
2^4 | 16 |
2^5 | 32 |
2^6 | 64 |
2^7 | 128 |
entonces ya tenemos nuestra pequeña tabla
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
ahora solo basta poner nuestra linea en binario o sea 1 y 0 y ir sumando o restando usare un ejemplo
quiero transformar el numero 152 en binario
primero vemos, desde el numero mayor al menor cual es mayor o igual a 152
128<152
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 |
luego restamos 152-128=24
64>24 entonces ponemos un 0 en la tabla
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 |
32>24 el numero sigue siendo meno asi que seguimos poniendo 0 hasta que haya un numero mayor
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 |
16>24 aqui tenemos 16 mayor que 24 asi que ponemos un 1
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 |
igual que el primer caso restamos 24-16=8
y seguimos
8=8 aqui se produce una congruencia total asi que marcaremos con un 1 y lo demas lo llevaremos todo a cero
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
y listo tenemos nuestra transformacion
153=10011000
para hacer el calculo contrario, de binario a decimal podemos usar la misma tabla y ir sumando los bit que esten en 1 y olvidandonos de los 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
solo sumamos 128+64+16+4+1=213
listo transformamos de binario a decimal
11010101=213
existe otra forma de transformar de decimal a binario que es dividiendo el numero por 2
por ejemplo
153/2=76
76/2=38
38/2=19
19/2=9
9/2=4
4/2=2
2/2=0
y aqui tomamos los restos de todas las divisiones y tendremos nuestro binario claro pasara que si usamos este metodo con mumeros mayores a 255 saldran mas de 8 bit ya que en cada octeto se puede llegar del 0 al 255
0 comentarios:
Publicar un comentario