32 bitowe dzielenie calkowite

Witam, od paru dni zastanawiam sie jak to szybko wykonac na procku nie posiadajacym instrukcji dzielenia, konkretnie PIC 18F, ktory chyba jeden z niewielu z tej rodziny ma przynajmniej mnozenie dwoch 8 bitowych liczb. Kombinowalem ze zwyklym dzieleniem na kartce, tyle, ze na bitach i wlasciwie zrobilbym to, jednak chcialbym sie wczesniej upewnic, czy nie istnieje jakis szybszy sposob. Chodzi mi glownie o idee, chociaz jesli ktos dysponuje jakims kodem, to byloby jeszcze lepiej. W ksiazkach o mikrokontrolerach ktore posiadam o autorzy nawet nie wspominaja nic na ten temat.

pozdrawiam DP

Reply to
Dawid Pawlata
Loading thread data ...

Z tego co widze te metody bazuja wlasnie na tym do czego doszedlem, myslalem, ze istnieje jakis szybszy sposob wykorzystujacy dodatkowe instrukcje PIC 18, poza tym nie ma tam 32/32.

W kazdym razie dzieki.

Reply to
Dawid Pawlata

Na microchip.com jest. Może da się zastąpić to dzielenie mnożeniem przez odwrotnosć? czasem daje się coś uprościć i mnozyć zamiast dzielić

Reply to
szlovak

Len z ciebie. A szybciej niz przesuwac bity i odejmowac to sie nie da. Tu masz link:

formatting link

Reply to
T.M.F.

Niestety raczej nie, poniewaz nie znam argumentow, moga byc dowolne. Poza tym ta sa liczby calkowite.

Reply to
Dawid Pawlata

Dzieki, tej stronki nie widzialem. Chociaz metoda jest wlasciwie taka sama. W koncu dzielenie na kartce sprowadza sie wlasnie do przesuwania i odejmowania. W kazdym razie jest gotowy kod!

Dzieki

Reply to
Dawid Pawlata

Do liczenia odwrotnosci modulo liczba calkowita masz rozszerzony algorytm euklidesa. Powinno sie go dac latwo zaimplementowac, choc wydajnosciowo moze to nie byc najlepszy pomysl

pzdr. j.

Reply to
Jacek R. Radzikowski

No to musi procek liczyć. Na marginesie, całkowitość liczb niczego nie zmienia prawie, FLOAT32 nie różni się prawie niczym od dzielenia 24/24 i 32/32 z tym tylko że dochodzi wykładnik i malutkie manewry z mantysą i wyjątkami.

Reply to
szlovak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.