¿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 normalmente en números binarios. Sin embargo, el concepto es aplicable a cualquier esquema de numeración.

El siguiente es un ejemplo que utiliza números decimales que tienen diez como base. Cuando 250 se desplaza aritméticamente hacia la izquierda, el número resultante es 2500, que es 250 multiplicado por diez. Cuando 250 se representa usando 4 dígitos como 0250, se desplaza aritméticamente hacia la derecha, el número resultante es 0025, que es 250 dividido por diez. Entonces, 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 mediante 0 y 1, y pueden estar firmados o sin firmar. En un desplazamiento aritmético a la izquierda, los números se desplazan un espacio hacia la izquierda y el cero se coloca a la derecha. En un desplazamiento aritmético a la derecha, los números se desplazan un espacio a la derecha y el número más a la izquierda se mantiene a la izquierda. En general, un cambio puede ser para «n» espacios.

En los números binarios sin signo, cada posición es una potencia de 2, por lo que el binario 1 es el decimal 1, el binario 10 es el decimal 2, el binario 100 es el decimal 4, y así sucesivamente. Entonces 0110 es el 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 utilizan 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 que se usa con más frecuencia para números negativos tiene 1111 como decimal -1 y esto va hasta 1000, que es el decimal -8.

Un desplazamiento aritmético a la izquierda en 1101, por ejemplo, que es el decimal -3, da como resultado 1010, que es el decimal -6. Un desplazamiento aritmético a la derecha en 1010, que es el decimal -6, da como resultado 1101, que es el 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 de todos y cada uno de los números del esquema numérico. Hay limitaciones en ambos extremos 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. Entonces, las computadoras apoyan esta operación usando un mecanismo relativamente simple llamado unidad de cambio o registro de cambio. Los programadores expertos utilizan esta operación siempre que se eviten o se solucionen las limitaciones mencionadas anteriormente.