Divisão de código original

A divisão do código original do computador é principalmente dividida em método de restauração de resto e método de adição e subtração alternada. Primeiro obtemos algumas leis da operação de divisão decimal e, em seguida, as aplicamos à operação de divisão binária.

Divisão decimal

Observe cuidadosamente o processo de operação decimal 782/7 abaixo.

Insira a descrição da imagem aqui

782 é dividido por 7, a primeira posição é 1 e o restante é 0. A segunda posição é 1 e o restante é 1, e 1 e 2 são combinados para formar um novo resto. A terceira posição ainda está acima de 1, e o restante é 5. O resultado é 111.

Podemos desenhar a seguinte lei

  • Cada vez que o quociente multiplicado pelo divisor é infinitamente próximo ao dividendo, mas menor do que ele
  • Depois de terminar o quociente, você precisa calcular o resto subtraindo o quociente do dividendo e multiplicando o resultado pelo divisor
  • Depois de subtrair o restante, o um dígito após o dividendo e o restante devem ser combinados para formar um novo resto para a próxima rodada de cálculos

Agora podemos aplicar essas leis à divisão do código original.

Método de restos de restauração

Tal como o título: assumindo que o comprimento da palavra do computador é de 5 dígitos, x = 0,1011, y = 0,1101. Use o método do resto de restauração para calcular o resultado de x / y?

Os resultados do cálculo são os seguintes e, em seguida, analise o processo de cálculo:

Insira a descrição da imagem aqui

x = 0,1011, y = 0,1101. Você pode obter | x | = 0,1011, | y | = 0,1101, | y (complemento) | = 0,1101, | -y (complemento) | = 1,0011.

Para calcular o quociente de x / y, o cálculo pode ser dividido em 2 etapas. A primeira etapa é calcular o bit de sinal. O bit de sinal de xe o bit de sinal de y são submetidos a XOR para obter o bit de sinal de Quociente. A segunda etapa é calculada O valor de | x | / | y |.

  • | x | / | y |, na primeira etapa, o quociente padrão é 1 e o processo de cálculo é | x | -1 * | y |, que é equivalente a | x | + | -y (complemento) | = 1.1110. Finalmente, verifica-se que o bit mais alto é 1 (1 representa um número negativo), o que viola a primeira lei da divisão decimal resumida acima. Portanto, o quociente não deve ser 1, mas 0. Portanto, o resultado deve ser restaurado. A maneira de restaurar é adicionar um | y (complemento) | É isso.
  • Por meio da operação da primeira etapa acima, é determinado que o primeiro número do quociente é 0. Agora, para a segunda rodada da operação, o restante deve ser deslocado uma casa para a esquerda e o dígito mais alto é descartado. O segundo dígito continua a padrão para o quociente de 1. Adicione o resto a | - y (complemento) | O resultado obtido é 0,1001, e o bit mais alto é 0. Isso mostra que o 1 anterior é o resultado correto.
  • Por analogia, até que o quociente final calculado seja 0,0111, o resto é 01101 (o comprimento da palavra de máquina é de até 5 dígitos)

Adição e subtração alternativas

O processo de cálculo do método alternativo de redução de preço e o método de recuperação do restante é o mesmo, mas é melhorado na base para tornar o processo de cálculo mais rápido.

No processo de cálculo do método de resto de restauração, o quociente é padronizado para 1, e o resto obtido descobre que, se for um número negativo, você precisa adicionar | y (complemento) | para restauração de dados. Esse processo pode ser otimizado.

Assumindo que o resultado de 1. | x | + | -y (complemento) | no quociente é negativo, ele é registrado como a. Você precisa adicionar y (complemento) | a a + | y ​​(complemento) | e mover um lugar à esquerda. Ambos (a + | y ​​(complemento) |) * 2. Subtraia | y (complemento) | na próxima rodada de cálculo, e o processo de cálculo torna-se (a + | y ​​(complemento) |) * 2 - | y (complemento) | = a * 2 + | y ​​(complemento) |

Em resumo, se o resto obtido após o quociente for negativo, mova o número para a esquerda e adicione | y (complemento) | para entrar na próxima rodada de cálculos. O processo de cálculo detalhado é o seguinte:
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/brokenkay/article/details/108683374
Recomendado
Clasificación