Skip to main content

O que é uma mudança aritmética?

Uma mudança aritmética é uma maneira de multiplicar ou dividir números. Os turnos aritméticos são normalmente executados em números binários. O conceito, no entanto, é aplicável a qualquer esquema de numeração.

A seguir, é apresentado um exemplo usando números decimais que possuem dez como base. Quando 250 é deslocado aritmeticamente para a esquerda, o número resultante é 2500, que é 250 multiplicado por dez. Quando 250 representado usando 4 dígitos como 0250, é deslocado aritmeticamente para a direita, o número resultante é 0025, que é 250 dividido por dez. Portanto, é mais correto dizer que uma mudança aritmética é uma maneira de multiplicar ou dividir números pela base do esquema numérico.

Os números binários têm 2 como base; eles são representados usando 0s e 1s e podem ser assinados ou não assinados. Em um deslocamento aritmético para a esquerda, os números são deslocados por um espaço para a esquerda, com zero sendo colocado à direita. Em um deslocamento aritmético para a direita, os números são deslocados em um espaço para a direita, com o número mais à esquerda sendo mantido à esquerda. Em geral, uma mudança pode ser para "n" espaços.

Em números binários não assinados, cada posição é uma potência de 2; portanto, o binário 1 é decimal 1, o binário 10 é decimal 2, o binário 100 é decimal 4 e assim por diante. Então 0110 é decimal 6. Quando um deslocamento aritmético para a esquerda é realizado, o número resultante é 1100, que é decimal 12. Quando um deslocamento aritmético para a direita é executado, o número resultante é 0011, que é decimal 3.

Como os números podem ser positivos e negativos, números binários assinados são usados ​​em que o bit mais à esquerda é 0 para um número positivo ou zero e 1 para um número negativo. Assim, para números de 4 bits, 0111, que é decimal 7, é o maior número positivo. O esquema usado com mais frequência para números negativos tem 1111 como decimal -1 e vai até 1000, que é decimal -8.

Um deslocamento aritmético para a esquerda em 1101, por exemplo, que é decimal -3, resulta em 1010, que é decimal -6. Um deslocamento aritmético para a direita em 1010, que é decimal -6, resulta em 1101, que é decimal -3. Observe que o bit mais à esquerda é retido.

Um deslocamento aritmético nem sempre corresponde à multiplicação e divisão para cada número no esquema de números. Existem limitações em cada extremidade do esquema numérico. Por exemplo, o turno esquerdo de 0111, decimal 7, fornece decimal -2 e, o turno direito de 1111, decimal -1, decimal -1.

Uma mudança aritmética tem uma simplicidade inerente e uma mudança é muito mais rápida do que a multiplicação e divisão normais. Portanto, os computadores suportam essa operação usando um mecanismo relativamente simples chamado de unidade de mudança ou registro de mudança. Programadores experientes utilizam essa operação desde que as limitações mencionadas acima sejam evitadas ou atendidas.