« poprzedni punkt  następny punkt »


4. Dzielenie liczb stałopozycyjnych

Dzielenie jest działaniem trudnym głównie z tego powodu, że nie da się z góry przewidzieć liczby bitów wyniku. Iloraz może być liczbą niewymierną i wynik dzielenia trzeba zaokrąglać. Istnieje wiele metod przybliżania wyników dzielenia i brak tu miejsca na ich pokazanie. Dlatego przedstawimy tu jedynie ideę dzielenia na przykładzie kodu NKB. Założymy, że dzielenie będzie wykonywane w tym samym układzie co mnożenie. Dlatego do rejestru MK zostanie zapisany dzielnik (RH jest wyzerowane) a do rejestru MN dzielną. Załóżmy także, że działanie wykonywane będzie w tylu krokach ile bitów mają argumenty (w ogólnym przypadku kroków może być więcej). Tak jak w algorytmie mnożenia, w każdym kroku wykonywane są dwa działania:

Pokażemy algorytm dzielenia na przykładzie dzielenia dwóch liczb czterobitowych (910 : 410). Podkreśleniem zaznaczono miejsce gdzie należy wpisać odpowiedni bit wynikający z porównania wartości RH i MN. Natomiast tłustą czcionką zaznaczono wartości bitów otrzymane w wyniku porównania.

Przykład

Zawartość rejestru MK jest wynikiem dzielenia, a wartość RH jest resztą z dzielenia. W naszym przykładzie wynik dzielenia wynosi 210 a reszta wynosi 110.


« poprzedni punkt  następny punkt »