¿Qué es un cambio aritmético?
Un cambio aritmético es una forma de multiplicar o dividir números. Los cambios aritméticos se ejecutan típicamente en números binarios. El concepto, sin embargo, es aplicable a cualquier esquema de numeración.
El siguiente es un ejemplo que usa números decimales que tienen diez como base. Cuando 250 se desplaza aritméticamente a la izquierda, el número resultante es 2500, que es 250 multiplicado por diez. Cuando 250 representado usando 4 dígitos como 0250, se desplaza aritméticamente a la derecha, el número resultante es 0025, que es 250 dividido por diez. Por lo tanto, es más correcto decir que un cambio aritmético es una forma de multiplicar o dividir números por la base del esquema numérico.
Los números binarios tienen 2 como base; se representan con 0 y 1, y se pueden firmar o no. En un desplazamiento aritmético a la izquierda, los números se desplazan un espacio a la izquierda con cero a la derecha. En un desplazamiento aritmético a la derecha, los números se desplazan un espacio a la derecha con el número más a la izquierda retenido a la izquierda. En general, un cambio puede ser para espacios "n".
En números binarios sin signo, cada posición es una potencia de 2, por lo que el binario 1 es decimal 1, el binario 10 es decimal 2, el binario 100 es decimal 4, y así sucesivamente. Entonces 0110 es decimal 6. Cuando se realiza un desplazamiento aritmético a la izquierda, el número resultante es 1100, que es el decimal 12. Cuando se realiza un desplazamiento aritmético a la derecha, el número resultante es 0011, que es el decimal 3.
Como los números pueden ser tanto positivos como negativos, se usan números binarios con signo en los que el bit más a la izquierda es 0 para un número positivo o cero, y 1 para un número negativo. Por lo tanto, para números de 4 bits, 0111, que es el decimal 7, es el número positivo más grande. El esquema más utilizado para los números negativos tiene 1111 como decimal -1 y esto llega hasta 1000, que es decimal -8.
Un desplazamiento aritmético a la izquierda en 1101, por ejemplo, que es decimal -3, da como resultado 1010, que es decimal -6. Un desplazamiento aritmético a la derecha en 1010, que es decimal -6, da como resultado 1101, que es decimal -3. Observe que se retiene el bit más a la izquierda.
Un cambio aritmético no siempre corresponde a la multiplicación y división para cada número en el esquema numérico. Hay limitaciones en cualquier extremo del esquema numérico. Por ejemplo, el desplazamiento a la izquierda de 0111, decimal 7, da el decimal -2, y el desplazamiento a la derecha de 1111, decimal -1, da el decimal -1.
Un cambio aritmético tiene una simplicidad inherente y un cambio es mucho más rápido de realizar que la multiplicación y división normales. Por lo tanto, las computadoras admiten esta operación utilizando un mecanismo relativamente simple llamado unidad de desplazamiento o registro de desplazamiento. Los programadores expertos utilizan esta operación siempre que se eviten o cumplan las limitaciones mencionadas anteriormente.