Operaciones binarias.

De la misma manera que en el sistema decimal, en el sistema binario existen las operaciones aritméticas, las cuales analizaremos a continuación.
Suma binaria, este proceso tiene algunas reglas que son. Cero más cero que siempre dará cero, uno más cero o cero más uno que nos dará el mismo resultado, uno.
Para el caso de sumar  en binario 1+1 el resultado será 10, pues el resultado no se puede representar en un solo bit lo que ocasiona un acarreo a la izquierda, es decir el resultado de sumar 1+1 siempre generara un 0 con un bit de acarreo (Carry) a la izquierda.
Las reglas para la multiplicación, cualquier numero binario multiplicado por cero, siempre será cero, y cualquier numero multiplicado por 1 siempre dará el mismo número que se multiplico.
Las reglas para la resta binaria, en los primeros tres casos no existe mayor complicación ya que el sustraendo es igual o menor que el minuendo y se realiza como una resta decimal normal, haciendo de esta manera que el resultado sea cero o uno.  Para el cuarto caso conviene tomar algunas consideraciones.
En este último caso el sustraendo es mayor que el minuendo, para poder realizar la resta se necesita hacer un préstamo del bit de la izquierda (bit de borrow), de la misma manera que haríamos en el sistema decimal, así que nuestro último caso seria en realidad 10 – 1, para poder realizar esta resta cabe recordar que el bit de la izquierda siempre valdrá el doble que el bit que tiene del lado derecho, sabiendo esto podemos descomponerlo como 1 + 1 (recordemos el último caso de la suma), con lo cual nuestra resta quedaría de la siguiente forma 1+1-1, siendo el resultado 1, siempre y cuando tengamos más bits del lado izquierdo (en este ejemplo se supuso ese caso), pero si no existen más bits a la izquierda el sustraendo será más grande que el minuendo dándonos como resultado un numero negativo, para realizar restas de este tipo y para indicar que un número es negativo existen tres formas; con signo y magnitud, complemento a 1 y complemento a 2, pero de esto se hablara más a fondo en otra entrada.
La división binaria sigue el mismo proceso que una división en decimal, para una división de un bit los posibles resultados son los siguientes, al igual que en sistema decimal el dividir entre cero nos dará un resultado indefinido, por lo cual estos dos casos son inválidos, para los casos restantes sabemos que cero dividido entre cualquier número siempre será cero, para el último caso, el divisor se multiplica por un número que dé como resultado un número menor o igual al dividendo, posteriormente se resta este número del dividendo, si ya no tenemos más bits la división termina.
Ejemplos:
Sumas binarias.
10110+111= ¿?,  10101+11001= ¿?, 11101+11= ¿?
Para obtener el valor de la suma se suma bit a bit iniciando con el bit menos significativo (el de la derecha), es decir se toma el primer bit de cada numerando y se suma, si genera un acarreo se agrega a la suma del siguiente bit. Como se observa en el segundo ejemplo la suma de los últimos bits es 1+1, esto genera un acarreo final ocasionando que el resultado de la suma sea un bit mayor a los sumandos.
Multiplicaciones binarias.
1011*10= ¿?, 1110*11= ¿?, 1001*11= ¿?
Para el caso de la multiplicación procedemos a tomar el primero bit del factor inferior (Multiplicador) y lo multiplicamos por el factor superior (Multiplicando), colocamos el resultado en la parte inferior, y procedemos a repetir el proceso con el siguiente bit del factor inferior, colocando el resultado en la parte inferior del resultado anterior y recorriendo su posición 1 bit a la izquierda, hacemos esto con todos los bits del multiplicador, una vez terminemos con todos los bits, se procede a sumar los resultados individuales para obtener el producto.
Restas binarias.
1111-1101= ¿?, 1111-111= ¿?, 1000-111= ¿?
Las primeras dos restas no tienen mayor complejidad pues no necesita realizarse un préstamo al bit de al lado, en el último ejemplo, sin embargo si es necesario pedir un préstamo (Borrow), en la imagen se observa el proceso, el bit de la posición 0 del minuendo es cero y necesita restársele uno, por lo cual se genera un préstamo, pero el bit de la posición 1 y 2 también son cero, así que el préstamo se realiza desde el bit de la posición 3, este bit se vuelve cero para realizar el préstamo y debido a que el bit de la posición 3 vale el doble que el bit de la posición 2, se puede reescribir como 1 + 1, (recordemos el caso de la suma), de esta forma nos sobra un bit en esta posición para realizar un nuevo préstamo a la derecha, por lo cual repetimos el proceso hasta el bit de la posición 0,  con lo cual ya podemos efectuar nuestras resta de forma sencilla.
Divisiones binarias.
111001/11= ¿?, 101011/101= ¿?, 100111/110= ¿?
Para nuestras divisiones observamos el divisor, dependiendo los bits que lo conformen es de donde partiremos por ejemplo en el primer caso el divisor es de dos bits, así que tomamos los primeros dos bits de izquierda a derecha del dividendo y observamos si la resta del dividendo y del divisor se puede efectuar sin necesidad de un acarreo, si es así procedemos a realizar la resta y colocamos un 1 sobre la posición menos significativa del grupo de bits que tomamos para realizar la resta, después, bajamos el siguiente bit de la derecha y repetimos el proceso, si la resta no puede llevarse a cabo, colocamos un cero al cociente de nuestra división, y bajamos el siguiente bit, así continuamos hasta terminar con los bits del dividendo, si cuando terminemos de realizar esto nos queda un grupo de bits que no se pueda dividir entre el divisor, este será el residuo, esto se observa más claramente en el segundo ejemplo donde el resultado de nuestra división es 1000 con residuo 11, lo mismo sucede con el tercer caso, el resultado de la división es 110 con residuo 11.
Si tienen Dudas o sugerencias, déjenme un mensaje y con gusto los tomare en cuenta.

Gracias por leerme una vez más.  

No hay comentarios.:

Publicar un comentario