Vamos a ver como trabajar con números binarios, para esto vamos a explicar q son los números binarios y las operaciones básicas q podemos realizar con ellos...
El sistema binario, es un sistema de numeración posicional, donde los números son representados solo con ceros y unos. Este sistema es de suma importancia para la informática ya q es el único idioma q entiende la maquina, toda información en un sistema informático digital se representa con binarios.
El sistema de numeración q normalmente usamos es decimal ([numero])10, quiere decir q contamos con 10 elementos para representar los distintos valores, esto es 0,1,...,9. Como también es un sistema posicional el valor de la base equivale a la combinación de 0 y 1, lo q conocemos como diez 10.
El sistema binario por su parte usa solo 0 y 1 para operar, es un sistema de base 2 o sea ([numero])2 como en el sistema decimal el valor de la base coincide con la combinación de 0 y un 1 (10)2 representa el 2.
Bien vamos a explicar algunas operaciones para q vean mas fácil todo esto...
-Transformar un número decimal entero a binario:
Para lograr esto vamos a hacer divisiones sucesivas en 2 hasta conseguir q la división sea igual a 1 y luego armamos el binario con este 1 y los numeros de los restos desde abajo hacia arriba de esta manera
** fuente de la imagen wikipedia.
Como vemos en este ejemplo, se divide 100 en 2, esto es igual a 50 y nos queda de resto 0, volvemos a dividir lo q nos quedó, 50 divido en 2 es 25 y de resto nos queda 1, seguimos haciendo estos pasos hasta llegar, en este caso, a dividir 3 en 2 cuyo resultado es 1 y el resto 1. Una vez q llegamos hasta este punto, tomamos el último resultado, siempre va a ser 1 y junto a el comenzamos a agregar los restos de las distintas divisiones, uno por uno, desde abajo hacia arriba. Luego la notación es la q observamos en la parte superior.
-Transformar un número entero con decimales:
Para convertir estos números vamos a hacer exactamente el mismo trabajo q recién para la parte entera, y para la parte decimal hacemos lo siguiente...
Tomamos la parte decimal q separamos de la parte entera, por ejemplo si el número es 100,45 trabajamos transformando el 22 como se explico en el punto anterior y luego tomamos 0,45 para trabajarlo ahora.
Vamos a multiplicar este decimal por 2 y si el resultado es mayor q 1 colocamos un 1 al lado del binario q obtuvimos anteriormente detrás de una coma, sino colocamos un 0, seria algo así.
0,45 * 2 = 0,90 ---> como es menor q 1 agregamos un 0 al binario
1100100,0 (número binario q calculamos anteriormente agregando la parte decimal)
y seguimos haciendo lo mismo
0,90 * 2 = 1,80 ---> como es mayor q 1 colocamos un 1
1100100,01
tomamos nuevamente la parte decimal y volvemos a operar
0,80 * 2 = 1,60
1100100,011
0,60 * 2 = 1,20
1100100,0111
0,20 * 2 = 0,40
1100100,01110
Finalizamos cuando encontremos una cantidad de cifras decimales q nos parezcan razonables, cuando veamos q se comienzan a repetir de forma periódica.
-Transformación de binario a decimal:
Ahora vamos a volver a nuestro número decimal, para esto vamos a hacer la sumatoria de multiplicar [binario]*2 elevado a la potencia q representa a la posición, no te asustes es más fácil de lo q suena...
De forma general seria asi, esto te va a servir para convertir un numero en cualquier base a decimal.
sumatoria de [binario]*[base]elevado[posición]
Siguiendo con el ejemplo q teníamos.
(1100100)2=0*20+0*21+1*22+...
otra imagen de wikipedia para q lo entiendan
-Convertir binario con decimal a entero
En este caso comenzamos por el lado izquierdo de la parte decimal, o sea la primer cifra desde la coma, vamos a hacer la suma sucesiva de multiplicar la cifra binaria por la base elevada a la posición por -1, pero comenzando desde 1, seria así
0,01110 = 0 * 2-1 + 1 * 2-2 + 1 * 2-3 + 1 * 2 -4 + 1 * 2-4
0,01110 = 0 + o,25 + 0,125 + 0,0625 + 0
0,01110 = 0,4375
-Suma de números binarios
Se realiza como con los decimales
101
+ 011
=1000
para hacer esto usamos
1+1=10
0+1=1
1+0=1
0+0=0
-Resta de binarios
Es igual q con demimales
1000
- 0011
= 0101
para hacer esto usamos
0-1=1 (para esto pedimos una unidad al binario de la izquierda como en los decimales, cuando obtenemos un 1 de la izquierda este es vale 10, por lo q restandole 1 queda 1)
1-1=0
1-0=1
Si se les complica restar de esta manera existe el método de restar usando el complemento a 2.
Este método transforma la resta en una suma. Para hacer esto usamos el complemento a 2 del sustraendo y quedaría así.
**ejemplo de wikipedia.
El complemento a 2 se obtiene manteniendo el primer 1 desde la derecha del binario, y luego intercambiando 0 por 1 y 1 por 0, con el resto de las cifras binarias.
En el ejemplo se queria transformar 0101110
Para eso venimos analizando cifra a cifra desde la derecha 0101110 <----- y mantenemos las cifras tal cual como estan hasta encontrar el primer 1
En este caso 01011|1|0 <----
Despúes intercambiamos 0 por 1 en las otras cifras para obtener nuesto C2
0101110 <---- 1010010
y ahora solo nos queda sumar como cualquier par de binarios, en el caso de q al realizar la suma nos sobrara una cifra por la izquierda esta se desprecia (sólo sucede esto al aplicar el método del complemento a 2)
-Multiplicación y división de binarios es similar a la de decimales
Para la división hacemos lo mismo q con decimales:
*** todos son ejemplos obtenidos de wikipedia si quieren saber mas consulten sistema binario.
-Bueno ahora vamos a hablar de la conversión de binario a hexadecimal y a octal.
Para pasar un número binario a octal hacemos lo siguiente:
1) Agrupamos las cifras del binario de a tres comenzando desde la derecha.
ejemplo:
(110111)2 <---- 110|111
2) Trabajamos con cada grupo formado por separado pero manteniendo el orden
110
111
3) Calculamos el valor correspondiente para cada grupo de la manera q ya vimos
valor = [cifra binario] * [base][posición]
(110)2 = 0 * 20 + 1 * 21 + 1 * 22 = 0 + 2 + 4 = 6
(111)2 = 1 * 20 + 1 * 21 + 1 * 22 = 1 + 2 + 4 = 7
Ojo! En el caso de q al agrupar las cifras no lleguemos a 3 completamos el grupo con 0
Si al agrupar nos quedan una o dos cifras nada mas completamos con ceros a la izquierda
11 --> 011
10 --> 010
1 --> 001
4) Solo nos queda volver a armar nuestro número uniendo las partes, el ejemplo quedaria
110|111 = 6|7
(110111)2 = 67
Para pasar un binario a hexadecimal hacemos lo mismo solo q en lugar de tomar grupos de 3 cifras tomamos grupos de 4 cifras, además tenemos q tener en cuenta la tabla de valores de los números exadecimades:
valor --> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
hexadecimal --> 0 1 2 3 4 5 6 7 8 9 A B C D E F
Entonces si al calcular el valor de nuestro grupo de 4 cifras el resultado es 15, en lugar de colocar 15 ponemos F
110|1111|0101 Separamos en grupos de 4 cifras completamos con 0 de ser necesario
(0110)2 = 0 * 20 + 1 * 21 + 1 * 22 + 0 * 23 = 0 + 2 + 4 + 0 = 6
(1111)2 = 1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 + 2 + 4 + 8 = 15 --> F
(0101)2 = 1 * 20 + 0 * 21 + 1 * 22 + 0 * 23 = 1 + 0 + 4 + 0 = 5
Armamos nuestro número --> (11011110101)2 = 6F5
El sistema binario, es un sistema de numeración posicional, donde los números son representados solo con ceros y unos. Este sistema es de suma importancia para la informática ya q es el único idioma q entiende la maquina, toda información en un sistema informático digital se representa con binarios.
El sistema de numeración q normalmente usamos es decimal ([numero])10, quiere decir q contamos con 10 elementos para representar los distintos valores, esto es 0,1,...,9. Como también es un sistema posicional el valor de la base equivale a la combinación de 0 y 1, lo q conocemos como diez 10.
El sistema binario por su parte usa solo 0 y 1 para operar, es un sistema de base 2 o sea ([numero])2 como en el sistema decimal el valor de la base coincide con la combinación de 0 y un 1 (10)2 representa el 2.
Bien vamos a explicar algunas operaciones para q vean mas fácil todo esto...
-Transformar un número decimal entero a binario:
Para lograr esto vamos a hacer divisiones sucesivas en 2 hasta conseguir q la división sea igual a 1 y luego armamos el binario con este 1 y los numeros de los restos desde abajo hacia arriba de esta manera
** fuente de la imagen wikipedia.
Como vemos en este ejemplo, se divide 100 en 2, esto es igual a 50 y nos queda de resto 0, volvemos a dividir lo q nos quedó, 50 divido en 2 es 25 y de resto nos queda 1, seguimos haciendo estos pasos hasta llegar, en este caso, a dividir 3 en 2 cuyo resultado es 1 y el resto 1. Una vez q llegamos hasta este punto, tomamos el último resultado, siempre va a ser 1 y junto a el comenzamos a agregar los restos de las distintas divisiones, uno por uno, desde abajo hacia arriba. Luego la notación es la q observamos en la parte superior.
-Transformar un número entero con decimales:
Para convertir estos números vamos a hacer exactamente el mismo trabajo q recién para la parte entera, y para la parte decimal hacemos lo siguiente...
Tomamos la parte decimal q separamos de la parte entera, por ejemplo si el número es 100,45 trabajamos transformando el 22 como se explico en el punto anterior y luego tomamos 0,45 para trabajarlo ahora.
Vamos a multiplicar este decimal por 2 y si el resultado es mayor q 1 colocamos un 1 al lado del binario q obtuvimos anteriormente detrás de una coma, sino colocamos un 0, seria algo así.
0,45 * 2 = 0,90 ---> como es menor q 1 agregamos un 0 al binario
1100100,0 (número binario q calculamos anteriormente agregando la parte decimal)
y seguimos haciendo lo mismo
0,90 * 2 = 1,80 ---> como es mayor q 1 colocamos un 1
1100100,01
tomamos nuevamente la parte decimal y volvemos a operar
0,80 * 2 = 1,60
1100100,011
0,60 * 2 = 1,20
1100100,0111
0,20 * 2 = 0,40
1100100,01110
Finalizamos cuando encontremos una cantidad de cifras decimales q nos parezcan razonables, cuando veamos q se comienzan a repetir de forma periódica.
-Transformación de binario a decimal:
Ahora vamos a volver a nuestro número decimal, para esto vamos a hacer la sumatoria de multiplicar [binario]*2 elevado a la potencia q representa a la posición, no te asustes es más fácil de lo q suena...
De forma general seria asi, esto te va a servir para convertir un numero en cualquier base a decimal.
sumatoria de [binario]*[base]elevado[posición]
Siguiendo con el ejemplo q teníamos.
(1100100)2=0*20+0*21+1*22+...
otra imagen de wikipedia para q lo entiendan
-Convertir binario con decimal a entero
En este caso comenzamos por el lado izquierdo de la parte decimal, o sea la primer cifra desde la coma, vamos a hacer la suma sucesiva de multiplicar la cifra binaria por la base elevada a la posición por -1, pero comenzando desde 1, seria así
0,01110 = 0 * 2-1 + 1 * 2-2 + 1 * 2-3 + 1 * 2 -4 + 1 * 2-4
0,01110 = 0 + o,25 + 0,125 + 0,0625 + 0
0,01110 = 0,4375
-Suma de números binarios
Se realiza como con los decimales
101
+ 011
=1000
para hacer esto usamos
1+1=10
0+1=1
1+0=1
0+0=0
-Resta de binarios
Es igual q con demimales
1000
- 0011
= 0101
para hacer esto usamos
0-1=1 (para esto pedimos una unidad al binario de la izquierda como en los decimales, cuando obtenemos un 1 de la izquierda este es vale 10, por lo q restandole 1 queda 1)
1-1=0
1-0=1
Si se les complica restar de esta manera existe el método de restar usando el complemento a 2.
Este método transforma la resta en una suma. Para hacer esto usamos el complemento a 2 del sustraendo y quedaría así.
La siguiente resta, 91 - 46 = 45, en binario es:
1011011 1011011
-0101110 el C2 de 0101110 es 1010010 +1010010
———————— ————————
0101101 10101101
**ejemplo de wikipedia.
El complemento a 2 se obtiene manteniendo el primer 1 desde la derecha del binario, y luego intercambiando 0 por 1 y 1 por 0, con el resto de las cifras binarias.
En el ejemplo se queria transformar 0101110
Para eso venimos analizando cifra a cifra desde la derecha 0101110 <----- y mantenemos las cifras tal cual como estan hasta encontrar el primer 1
En este caso 01011|1|0 <----
Despúes intercambiamos 0 por 1 en las otras cifras para obtener nuesto C2
0101110 <---- 1010010
y ahora solo nos queda sumar como cualquier par de binarios, en el caso de q al realizar la suma nos sobrara una cifra por la izquierda esta se desprecia (sólo sucede esto al aplicar el método del complemento a 2)
-Multiplicación y división de binarios es similar a la de decimales
10110
1001
—————————
10110
00000
00000
10110
—————————
11000110
Con números mayores, se utiliza un método llamado algoritmo de Booth:
11101111
111011
__________
11101111
11101111
00000000
11101111
11101111
11101111
______________
11011100010101
Para la división hacemos lo mismo q con decimales:
100010010 |1101
——————
-0000 010101
———————
10001
-1101
———————
01000
- 0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001
*** todos son ejemplos obtenidos de wikipedia si quieren saber mas consulten sistema binario.
-Bueno ahora vamos a hablar de la conversión de binario a hexadecimal y a octal.
Para pasar un número binario a octal hacemos lo siguiente:
1) Agrupamos las cifras del binario de a tres comenzando desde la derecha.
ejemplo:
(110111)2 <---- 110|111
2) Trabajamos con cada grupo formado por separado pero manteniendo el orden
110
111
3) Calculamos el valor correspondiente para cada grupo de la manera q ya vimos
valor = [cifra binario] * [base][posición]
(110)2 = 0 * 20 + 1 * 21 + 1 * 22 = 0 + 2 + 4 = 6
(111)2 = 1 * 20 + 1 * 21 + 1 * 22 = 1 + 2 + 4 = 7
Ojo! En el caso de q al agrupar las cifras no lleguemos a 3 completamos el grupo con 0
Si al agrupar nos quedan una o dos cifras nada mas completamos con ceros a la izquierda
11 --> 011
10 --> 010
1 --> 001
4) Solo nos queda volver a armar nuestro número uniendo las partes, el ejemplo quedaria
110|111 = 6|7
(110111)2 = 67
Para pasar un binario a hexadecimal hacemos lo mismo solo q en lugar de tomar grupos de 3 cifras tomamos grupos de 4 cifras, además tenemos q tener en cuenta la tabla de valores de los números exadecimades:
valor --> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
hexadecimal --> 0 1 2 3 4 5 6 7 8 9 A B C D E F
Entonces si al calcular el valor de nuestro grupo de 4 cifras el resultado es 15, en lugar de colocar 15 ponemos F
110|1111|0101 Separamos en grupos de 4 cifras completamos con 0 de ser necesario
(0110)2 = 0 * 20 + 1 * 21 + 1 * 22 + 0 * 23 = 0 + 2 + 4 + 0 = 6
(1111)2 = 1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 + 2 + 4 + 8 = 15 --> F
(0101)2 = 1 * 20 + 0 * 21 + 1 * 22 + 0 * 23 = 1 + 0 + 4 + 0 = 5
Armamos nuestro número --> (11011110101)2 = 6F5
Comentarios
Publicar un comentario