Efetue as seguintes operações (supondo as mesmas no sistema binário), sem passar pelo sistema decimal:
Passo 1
O enunciado pede para dividir em base
o número
pelo divisor
sem converter para decimal. O conteúdo aqui é o algoritmo de divisão binária, que funciona exatamente como a divisão longa em base
, mas só com dígitos
e
. Vamos manter um “resto parcial” que a cada passo multiplica por
(desloca à esquerda) e soma o próximo bit do dividendo, comparando com o divisor para definir o próximo bit do quociente.
Passo 2
Definimos:
– é o dividendo de
bits,
.
– é o divisor de
bits,
.
– Um registro inicia em
.
– Para cada i de a
, fazemos:
.
(trazemos um bit).
. Se
, então
e
; senão
.
Os bits do quociente serão , pois temos
iterações menos
(comprimento de
).
–
–
– Um registro
– Para cada i de
Os bits do quociente serão
Passo 3
Aplicando o algoritmo e anotando
(resto) e
:
i |
|
resto antes de subtr. | comparação
|
|
resto após subtr. |
---|---|---|---|---|---|
|
|
|
não (
|
– |
|
|
|
|
não (
|
|
|
|
|
|
sim (
|
|
|
|
|
|
sim (
|
|
|
|
|
|
não (
|
|
|
|
|
|
não (
|
|
|
|
|
|
sim (
|
|
|
|
|
|
não (
|
|
|
Aqui, nos interessa
até
(para
até
), e o resto final é
.
Passo 4
Os bits de quociente calculados foram
Eliminando um zero à esquerda, ficamos com
como quociente, e o resto é
Resposta
Quociente:
Resto:
Resto: