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?