Деление n-битных двоичных чисел

Интересно, может ли кто-нибудь помочь мне с созданием псевдокода о том, как делить n-битные двоичные целые числа? Вот что, я думаю, может сработать прямо сейчас, может кто-нибудь исправить это, если я ошибаюсь:

divide (x,y)
if x=0: return (0,0) //(quotient, remainder)
(q,r) = divide(floor(x/2), y)

q=2q, r=2r
if x is odd: r = r+1

if r >= y: r = r-y, q = q+1
return (q,r)

Ребята, не могли бы вы сказать, что этот общий алгоритм псевдокода решит поставленную задачу деления n-битных чисел, или я что-то упустил в своем псевдокоде, прежде чем я начну кодировать что-то неправильное?

0

Решение

Кроме очевидных вещей (не проверка на деление на ноль, не обработка отрицательных чисел), похоже, работает. Я убедил себя, просто применяя это к номерам базы-10.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]