Fórum témák
» Több friss téma |
Fórum » 24 bites osztás
Hy all!
Szerintetek hogyan lehet megvalósítani egy 24 bites osztást? Volna ötletem, de kiváncsi volnék: TI hogyan olanátok meg? Thx
Én most csináltam egy 16bites osztást 8 bites eredménnyel, 8 bites maradékkal, 8 bites osztóval és 16 bites osztandóval.
Pontosan nem tudom, hogy hogyan kell binárisan osztani, de én az osztót addig vontam ki az osztandóból mig nullát vagy már tovább nem lehet kivonni eredményt kaptam.
Tomee!
Az osztást hardveresen, vagy szoftveresen csináltad?
Hello
A 24bites osztást nem tudom most megmondani neked, de itt találsz 16bites osztást, ami alapján meglehetne valósítani a 24biteset... szorzás, osztás van hozzá progi is AVR-re... Remélem segitettem...
Igen, nagy segítség... Thx
Tulképp elképesztő, h mennyi mindent megoldottak már, csak össze kell szedni....
Egyes AVR-ekben van szorzás művelet, akkor szerintem van PICben is. Úgy tudom, bár lehet h hülyeséget mondok, hogy valamilyen trükk segitségével szorzást felhasználva lehet osztást is végezni... valaki hallott már ilyesmiről??
Elméletileg a reciprokkal való szorzás osztást jelent, de a reciprok képzéshez osztás kell...
Igen PIC-ben is van szorzás....van amelyik hardveres szorzásra képes.... Harveres osztást miért nem találok?
Hi. Hogy miért nem találtok beépített osztás parancsot a Pic-ben, arra egyértelmű a válasz: mert gyárilag nincs benne. A 8 bites szorzás is csak a 18-as pictől felfelé van hardveresen, de osztás itt sincs, ezt szoftverből kell megoldani. A complex utasításkészletű kontrollerekben 8051-ekben van mindkettő ha jól emlékszem.
Nem a PIC-ben kerestem az osztás parancsot, azt vágom, hogy nincs.
Osztást végző IC-t keresek, és 8-bitesnél nagyobb szinkron számlálót egy tokban... De ezeket nem fogom megtalálni, mert nincs..
DSP_k tudnak hardveresen osztani, de azokis csak több órajel alatt.mi úgy oldottuk meg a 32 bites osztást(az ugyanis nincs DSP-ben sem)hogyaddog shifteled lefelé,amig még nagyobb az osztandó az osztónál, utána pedig kivonás...amennyivel shift,annyiszor exp2.úgy tudom hardveresen is vhogy így van megvalósítva
Alapprobléma a hardveres osztásnál, hogy csak több órajelciklus alatt szolgáltat eredményt, míg a szorzás eredménye egy megfelelő logikai hálózaton a tényezők beállítása után azonnal megjelenik. Az osztás hardveres megvalósítása sem sokkal gyorsabb, mint a szoftveres, bár kétségtelen, hogy az idő alatt a program tudna mást csinálni.
hardveres osztást ugyanúgy lehet csinálni 1 órajel alatt un. LUT-módszerrel, bár egy 8biteshez 64kbyte-os LUT kellene, 16biteshez pedig 4G és lássuk be,ennyi memót nemigazán szoktak egy PIC-be integrálni
![]() hyperprof: neked mi az elképzelésed az osztás megvalósításáról?
Igen, erre is gondoltam, de ez tényleg nagyon sok helyet foglal el....
Én most a napokban azt gondoltam ki: mivel nekem az osztandó nem nagyobb az osztó 9x-esénél, és nekem BCD-ben kell az eredmény, így már könnyű dolgom van... hexában dolgozok Fogom az osztót és előállítom a szorzatait 9-ig. Összehasonlítom az osztót és az osztandót, ha egyenlő az eredmény: 1 ha nagyobb: sorra megnézem, h melyik szorzat van meg benne, azt kivonom belőle, a maradékot pedig megszorzom 0xA-val, ezt hasonlítom megint az osztóval... Így akár egy végtelen számot is kiszámolhatok.... példa: osztandó: 0x1AE (430) osztó: 0x4F (79) (430:79=5,443079975..) szorzótábla: 1 : 4F 2 : 9E 3 : ED 4 : 13C 5 : 18B 6 : 1DA 7 : 229 8 : 278 9 : 2C7 Számolás: 1AE:4F=5 Maradék: 23 (1AE-18B=23) 23*A=15E 15E:4F=4 22*A 154:4F=4 18*A F0:4F=3 3*A 1E:4F=0 1E*A 12C:4F=3 3F*A 276:4F=7 4D és így tovább... Az eredmény eddig: 5,443037....
Esetleg nézzétek meg ezt:
Bináris osztás Próbáltam szemléletesen leírni, mi történik bit szinten A dolgot ki lehet bővítni bárhány bitre. |
Bejelentkezés
Hirdetés |