Dzielenie liczb w systemie binarnym - zły wynik działania

szczypmen
Użytkownik
Użytkownik
Posty: 24
Rejestracja: 10 sty 2010, o 17:19
Płeć: Mężczyzna
Podziękował: 3 razy

Dzielenie liczb w systemie binarnym - zły wynik działania

Post autor: szczypmen »

Witam.

Wymyśliłem przykład z dzielenia liczb binarnych:

\(\displaystyle{ 1101010011110101_{B} \div 110_{B}}\)

\(\displaystyle{ 1101010011110101_{B}}\) to \(\displaystyle{ 54517}\) natomiast \(\displaystyle{ 110_{B}}\) to \(\displaystyle{ 6}\) co razem daje działanie \(\displaystyle{ 54517 \div 6}\) czyli \(\displaystyle{ 9086.1666...}\)

Jednak moim problemem jest ciągle występujący zły wynik działania:



Wynik to \(\displaystyle{ 10001101010011}\) czyli \(\displaystyle{ 9043}\) i reszta \(\displaystyle{ 011}\).
Po dodaniu do wyniku reszty, otrzymuję:

\(\displaystyle{ \phantom{.....}10001101010011 \\
+ \phantom{.}\underline{00000000000011} \\
\phantom{....}10001101010110}\)


a \(\displaystyle{ 10001101010110}\) to \(\displaystyle{ 9048}\) ale nie \(\displaystyle{ 9086.1666...}\)

Nie bardzo wiem gdzie popełniam błąd - podczas odejmowania, czy może wynik i resztę powinienem jakoś jeszcze zakodować np. inwersja + dodawanie i powrotna inwersja?
Mam nadzieję że mi ktoś pomoże.

Dodam, że uczę się nadal z tej samej książki, o której wspomniałem w tym temacie, ale niestety podręcznik ów nie jest w 100% pomocny..

Dziękuję i pozdrawiam.

-- 6 sty 2012, o 21:30 --

Przede wszystkim, nadal nie bardzo wiem, kiedy mogę odejmować od dzielnej dzielnik, a kiedy nie?
We wklejonym screenie jest kilka miejsc w których przeprowadzam "niedozwolone" (?) odejmowanie ponieważ pożyczyłem \(\displaystyle{ 1_{B}}\) i dodałem go do pozostałych zerowych bitów - ale podczas zwykłego odejmowania, z tego co zrozumiałem, jest to dozwolone.

Ktoś mnie może naprowadzić na rozwiązanie?
ODPOWIEDZ