Diferencia entre revisiones de «Operador a nivel de bits»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 148.213.14.232 a la última edición de Diegusjaimes
Línea 46: Línea 46:
=== Suma binaria ===
=== Suma binaria ===


La suma binaria se puede realizar cómodamente siguiendo las TE reglas descritas:
La suma binaria se puede realizar cómodamente siguiendo las tres reglas descritas:
# Si el número de unos (en sentido vertical) es par el AMO es 0.
# Si el número de unos (en sentido vertical) es par el resultado es 0.
# Si el número de unos (en sentido vertical) es impar el PETRA es 1.
# Si el número de unos (en sentido vertical) es impar el resultado es 1.
# Acarreo tantos unos como parejas (completas) de números 1 haya.
# Acarreo tantos unos como parejas (completas) de números 1 haya.



Revisión del 19:32 31 ago 2009

Se define como operación binaria un procedimiento entre dos o más variables en base 2 (o también llamado en módulo 2). Desde el punto de vista de la informática, estas operaciones, aunque son puramente matemáticas, ocupan un gran rol en el funcionamiento de la computadora. Esta es la razón por la que se encuentran muchas veces en los microprocesadores y más específicamente en las ALU (Unidades Aritmético Lógicas).

Tipos de operaciones

  1. Operaciones Lógicas: Evalúan el resultado de una expresión, dando verdadero o falso.
  2. Operaciones Aritméticas: Realizan alguna de las siguientes operaciones: suma, resta, multiplicación y división
  3. Operaciones Comparativas: Evalúan una doble operación lógica sobre una variable o expresión para determinar si es mayor, menor ó igual a dicho operando
  4. Operaciones de Desplazamiento: Conocidos como «shifts» consisten en alterar el orden de los bits de un registro.
  5. Operaciones de Rotación: similares a los shifts pero aprovechando características del procesador (para rotar los bits en un registro).

Operación Lógica

Una operación lógica evalúa 2 o más operandos mediante uno de los operadores lógicos (OR, AND, XOR,NAND ó NOR). El operador NOT sólo se aplica a un operando o expresión. Las operaciones lógicas sirven para tomar decisiones y en su forma más compleja realizan comparaciones. También son llamadas Operaciones Booleanas en mención al Álgebra de Boole, estas son usualmente: En los lenguajes de programación algunas operaciones no están implementadas toda vez que se consigue al aplicar 2 de ellas. Estas operaciones son típicamente NAND' y NOR que se consiguen mediante AND y OR y después se les aplica una operación NOT.

A nivel de hardware, por cuestiones de rendimiento y espacio pueden o no implementarse cada una de ellas ó sólo AND, OR y NOT, lo cual depende del diseño.

A nivel de hardware existen circuitos lógicos que representan cada una de las operaciones como puertas lógicas. E igualmente existen bloques compuestos únicamente de un tipo determinado de ellos. Al hardware diseñado con estos bloques se les denomina cirucitos combinacionales. Los primeros ordenadores se construyeron de este modo.

Operación Aritmética

Las operaciones aritméticas permiten manejar los datos para producir resultados de expresiones. Varios circuitos se fabrican y diseñan para tales propósitos, los más típicos son los de: suma, resta, multiplicación y división otros menos conocidos pero menos frecuentes son el resultado de uno o más de ellos, por ejemplo los contadores, el circuito contador es básicamente un cirucuito cuya operación principal es la suma, con la particularidad de que al llegar al tope deseado, retorna al valor inicial. Por ejemplo un contador sexagesimal debe volver a valer 00 después de alcanzar el valor 59 (una aplicación típica son los relojes, en las funciones de minutos y horas).

Todo programa necesita hacer infinidad de operaciones de cálculo, que se efectúan con tales operaciones. A nivel de hardware, las operaciones de suma se llevan a cabo con el mismo circuito de suma ligeramente modificado. Las operaciones aritméticas a su vez están compuestas de operaciones lógicas.

Operación Comparativa

Las operaciones de comparación pueden entenderse como operaciones lógicas de mayor complejidad, y normalmente diseñadas y establecidas para la inteacción humana. Dadas dos variables me permite conocer si una de ellas es mayor, menor o igual a la otra. El mecanismo utilizado internamente es la resta de las dos variables. A partir de esta operación y, basándose en el estado final de los flags, se determina cómo es la relación entre las dos variables. Hay otras comparaciones posibles, como saber si un valor es par o impar.

Las operaciones de comparación son una forma más elevada de tomar decisiones ya que puede aglutinar complejas expresiones que las utilizadas por simples operaciones lógicas.

En los lenguajes de alto nivel, las comparaciones suelen usarse en los mecanismos de decisión, como son la bifurcación y la ejecución de bucles.

Operación de Desplazamiento

Introducción

  • Aunque es frecuente que incluso en academias, sin más prolegómenos se hable de sistema binario y se pasa a explicar 1 y 0, intentando situar al alumno en la pista de la comprensión de equivalencia matemática con el sistema binario, e incluso enseñando a hallar el equivalente entre el sistema decimal y binario.
  • Resulta frecuente ver que los matemáticos tienen dificultad para aplicar funciones en módulo binario, que no sean puramente aritméticas (es decir algebraicas). Del mismo modo, los que estudian ciencias de la computación parecen desconocer el principio del 1 y el 0 basado en las matemáticas.
  • Todo ello se ve más confuso, por cuanto a nivel electrónico, se habla de tensiones y arbitrariamente se le adjudica un valor u otro, a diferentes tensiones (un rango de tensión, para el valor "1" y un rango de tensión para el valor "0", que sea el voltaje superior, o el inferior uno u otro, se resume en llamarlo lógica positiva, o lógica negativa.
  • Se aclara que el "1" binario es la resultante matemática de la división, en la función: X/X=1 sea cual sea el valor de X, e igualmente el "0" resulta de la resta: X-X=0 sea cual sea el valor de X. Por tanto, no debiera resultar tan abstracto para el matemático aplicar álgebra binaria cual la decimal, ni debiera resultar tan solemne al alumno de computación el origen del "0" y el "1"
  • Hay que aclarar que las bases en un sistema númerico no requieren ser definidas mediante funciones, un sistema binario es aquel que posee 2 signos distintos, en este caso el "1" y el "0" y que debido a sus propiedades es posible aplicar las mismas operaciones que en un sistema decimal.

Suma binaria

La suma binaria se puede realizar cómodamente siguiendo las tres reglas descritas:

  1. Si el número de unos (en sentido vertical) es par el resultado es 0.
  2. Si el número de unos (en sentido vertical) es impar el resultado es 1.
  3. Acarreo tantos unos como parejas (completas) de números 1 haya.

Por ejemplo:

0 + 0 = 0,
0 + 1 = 1,
1 + 0 = 1,
1 + 1 = 10 se pone 0 y se acarrea un 1 a la posicion siguiente.

Para sumar 1010 (que en decimal es 10) y 1111 (que en decimal es 15).

Resta binaria

Las cuatro reglas básicas para la resta de números binarios son:

0 - 0 = 0
1 – 1 = 0
1 – 0 = 1
0 – 1 = 1 ( con acarreo negativo de 1)

Al restarse números algunas veces se genera un acarreo negativo que pasa a la siguiente columna de la izquierda. En binario solo se produce este acarreo cuando se intenta restar 1 de 0 (4ª regla).

Ejemplo sobre esta situación, restar 011 de 101:

101 – 011 = 010

Detalle de la operación:

  1. en la columna derecha se realiza la resta de 1 – 1 = 0
  2. en la columna central se produce un acarreo negativo de 1 a la columna siguiente (4ª regla) que da lugar a 1 en esta columna, luego 0 - 1 = 1 con acarreo de 1 a la siguiente columna
  3. en la columna izquierda, se resta 1 del acarreo producido en la anterior columna y da como resultado 0, luego se resta 0 – 0 = 0

Multiplicación binaria

La multiplicación binaria es tan sencilla como la decimal, y es que funcionan de la misma manera. Aquí tienen un ejemplo de multiplicación binaria. Supongamos que multipliquemos 10110 por 1001:

Vamos multiplicando por cada dígito de 1001 el conjunto 10110 y luego procedemos a hacer la suma. Hay otro tipo de procedimientos para realizar esta multiplicación sin signo y es el llamado "Multiplicación por el método de Suma-Desplazamiento".

División binaria

Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida,0/1=0, 1/1=1 .

  • División: Se hace igual como el sistema decimal.

Ejemplo de división binaria: En este ejemplo, hay que comenzar cogiendo 4 cifras del dividendo para sobrepasar al divisor. Así resulta que 1011 entre 111 toca a 1 (solo puede ser 1 o 0). 1 por 111 es 111 y falta 100 hasta llegar a 1011. Bajando la siguiente cifra (un 0) resulta que 1000 entre 111 toca a 1. Así sucesivamente.

10110111 /11001
-1000 1101
00111
000

Como operación digital

Exactamente igual que la operación binaria no digital, salvo que cambia la suma " y acarreo 1" por 1+1=1. Es decir, que en la suma digital no se acarrea ninguna cifra. Por lo demás, es igual que la suma binaria.

Como operación de un subsistema de ejecución

Hay muchos más tipos para tratar convenientemente la información en un sistema microprocesador, tales como manejo de variables de cadenas, movimientos de datos entre secciones físicas etc. para una mayor profundidad en detalles sobre el tema, ver juego básico de instrucciones de un sistema microprocesador o juego de instrucciones de un microprocesador determinado.

Como proceso de datos numéricos

  • Debe tenerse en consideración que esta clasificación es una aproximación para afrontar el tema con cierto orden, basado en el registro enciclopédico, ya que estrictamente unos campos entran en otros, y resulta imposible separar de modo absoluto cada uno de ellos, considerando esta, una clasificación plenamente aceptable.

Operaciones lógicas