ARITMETICA BINARIA Operaciones básicas con sistema binario Conversión de Decimal a Binario Lo primero que debemos comprender es como convertir números decimales a binarios para realizar este proceso existen 2 formas de hacerlo. Forma #1 Si tenemos un número decimal cualquiera lo primero que debemos hacer es empezar a dividirlo entre 2 , la razón de dividirlo entre 2 es porque el sistema binario únicamente consta de 2 números (1 y 0), si el residuo de esa división es mayor que 0 entonces, el numero se representara con 1 y por el contrario si es igual a 0, el numero sera representado con 0. ejemplo: Convertiremos el número 650 Decimal Cociente Bin. 650 325 162 81 40 20 10 5 2 1 2 2 2 2 2 2 2 2 2 2 0 1 0 1 0 0 0 1 0 1 Se representa como 1 ya que la división de 325 Es 162.5, quiere decir que queda un residuo de .5 en el siguiente paso únicamente se dividirá 162 Se representa como 1 ya que la división de 81 es 40.5, quiere decir que queda un residuo de .5 al igual que el caso de 325 Al igual que los 2 casos anteriores, queda un residuo mayor que 0. ahora la representación del numero binario se lee con el cociente de derecha a izquierda con la siguiente tabla. 512 256 128 1 0 1 0 1 0 correcto 512 128 8 + 2 650 64 0 1 32 0 0 Octal 16 8 0 1 0 0 4 0 1 2 1 0 1 0 1 <-- forma correcta <-- forma incorrecta incorrecto 256 64 4 + 1 325 Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com Es imprescindible que la colocación en la tabla sea DE DERECHA A IZQUIERDA, como se ve en la presentación al invertir el orden el significado del número cambia totalmente. Forma #2 Utilizando la tabla octal deberemos realizar una serie de restas del numero que se nos solicita contra los bits de la tabla octal, hasta conseguir una diferencia de 0, sucesivamente se irán encendiendo y apagando todos los bits según el resultado de la operación. Ejemplo: Se convertirá el numero 1225 a binario. 1024 512 256 128 1 0 0 1 1225 1024 201 128 73 64 9 8 1 1 0 64 1 32 0 Octal 16 8 0 1 4 0 2 0 1 1 la sumatoria de los bits encendidos es igual a 225 1 1 1024 128 64 8 1 1225 1 1 + 1 Claramente se observa que la tabla octal crecerá según sea el numero solicitado a convertir, en los 2 ejemplos anteriores hemos visto que ha tenido un incremento en un bit simultáneamente, si nos topáramos con el caso que se nos solicita convertir un 2250 a binario nuestra tabla se incrementara en un bit mas, cada uno de los bits esta representado por la elevación del numero 2 (porque el sistema binario es de base 2) a la n, donde n es el numero de bits que se necesitan para cubrir el número. La tabla de 2250 quedaría de la siguiente manera: 2048 1024 512 256 128 11 2 10 2 9 2 8 2 7 2 2 64 32 6 5 2 Octal 16 8 4 2 3 2 2 4 2 2 1 2 1 0 2 Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com Conversión de Binario a Decimal La forma mas efectiva de convertir un binario a decimal es multiplicando cada uno de los bits por 2 elevado a la potencia en la que esta posicionado el bit dentro del numero en binario. Esto se entiende mejor con el siguiente ejemplo: 2⁷ 2⁶ 1 1 x 1 x 1 x 1 x 1 x 1 x decimal 2⁵ 1 2⁴ 1 2⁷ 2⁶ 2⁵ 2³ 2¹ 2⁰ 2³ 0 = = = = = = 2² 1 2¹ 0 128 64 32 8 2 1 235 2⁰ 1 1 todo numero elevado a potencia 0 es = a 1 Si somos observadores nos daremos cuenta que únicamente se convirtieron los bits que están encendidos (1) y la suma de todos ellos nos da el resultado en decimal de la expresión binaria. Y la forma mas fácil de realizar esta conversión es utilizando directamente la tabla octal e incrementarla tantos bits como nos sea solicitado. Ejemplo: Convertiremos a binario el número 100111011001 para tal efecto: 2048 1 + 1024 512 256 128 0 0 1 1 64 1 32 0 Octal 16 8 1 1 4 0 2 0 1 1 2048 256 128 64 16 8 1 2521 El binario convertido equivale a 2521 en sistema decimal. Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com Operaciones Aritméticas con Binarios De igual manera como realizamos operaciones como suma, resta, multiplicación y división con el sistema decimal, también podemos realizarlas con el sistema binario, en este capitulo abarcaremos únicamente 2 operaciones; la suma y la resta. Suma con Binarios Para la suma debemos cumplir con ciertas reglas que nos denota la siguiente tabla. 1 0 0 1 + + + + 0 0 1 1 = = = = 1 0 1 0 la razón por la cual 1+1 es 0, es análoga al hecho Que 1+1 es 2 en sistema decimal y 2 en sistema Binario = 10, es como decir que 1+1 = 0 y llevamos 1 Entonces comprendida la tabla anterior pasemos a un ejemplo practico. Sumaremos 10101100 + 100101 Esto es igual a decir + 1 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 <-- bits que se llevan de sumar 1+1 1 1 0 0 0 0 0 1 1 Para comprobar nuestra suma en decimal podemos poner tanto los factores como el total en nuestra tabla octal. 128 1 64 0 1 1 32 1 1 0 Octal 16 0 0 1 8 1 0 0 4 1 1 0 2 0 0 0 1 0 1 1 172 37 209 Es ideal que al momento de realizar la operación se utilicen todos los 0 a la izquierda, en la suma no es completamente necesario pero en la resta sera un factor critico en la exactitud de la operación. Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com Resta con Binarios Al igual que en la suma hay algunas reglas que debemos seguir en la resta. 1 1 0 0 - 1 0 0 1 = = = = 0 1 0 1 la razón por la cual 0-1 es igual a 1 es porque 2 -1 es igual a 1 y llevamos 1 Esto luce un tanto complicado ya que para utilizar este sistema dentro de una operación deberemos correr el primer uno que tengamos disponible para prestarle al 0 y luego sumar un 1 que llevaremos al bit siguiente. - 1 1 0 0 1 0 0 1 0 1 0 <-- bits que se llevan de restar 0-1 0 1 1 1 0 1 La verdad es un método bastante enredado, y que tiende a crear bastante confusión por esta razón la resta se simplificando utilizando el método de complemento a 2 del sustraendo. Para calcular el complemento a 2 primero deberemos calcular el complemento a 1 el cual no es mas que la negación del sustraendo. minuendo sustraendo - C¹ 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 216 55 Como se observa el complemento a 1 (C¹) es el sustraendo totalmente invertido Ahora para calcular el complemento a 2 (C²) le sumamos 1 a C¹ C¹ + C² 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 El complemento a 2 del sustraendo es igual a 11001001, ahora lo que deberemos hacer es una suma con el minuendo y el nuevo sustraendo, los valores que están a la derecha de la tabla es la representación decimal del binario. Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com minuendo C² + 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 <-- bits que se prestan al sumar 1+1 1 1 0 0 0 0 0 0 0 0 1 1 el ultimo bit que se desborda a la izquierda es llamado bit de overflow y no se toma en cuenta en el resultado. como se observa 10100001 es la diferencia de 216-55 Como se observa este es un método un poco mas largo pero bastante efectivo, y mucho mas fácil de comprender que el anterior. Realizado por Pablo Yela ---- [email protected] ---- http://pabloyela.wordpress.com