[ ilija90 @ 03.06.2013. 11:35 ] @
Pozdrav, Na koji nacin se moze realizovati deljenje binarnih brojeva uz pomoc logickih kola? |
[ ilija90 @ 03.06.2013. 11:35 ] @
[ mikikg @ 03.06.2013. 11:57 ] @
Moze na vise nacina, recimo preko "brojaca" moze da se napravi deljenje sa 2,3,4,5 itd, pomocu flip-flop se deli sa dva pa se koristi vise redno vezanih za deljenje sa 4,8,16 itd.
Ima i specificnih programibilnih delitelja, sve zavisi zasta ti treba, koji opseg deljenja i brzina logike. Za celobrojne vrednosti deljenja je relativno prosto, jos je prostije kada su celobrojne vrednosti sa binarnom osnovom, dakle 2,4,8,16,32,64,256 itd dok je za deljenje necelobrojnim vrednostima (npr deljenje sa 5.23) vec potpuno druga problematika u pitanju. [ ilija90 @ 03.06.2013. 12:30 ] @
U principu, trebao bih da podelim proizvoljan binarni broj (ne veci od 100) osmicom, recimo 110111:1000. Rezultat bi, dakle, bio 110.111. Da je u pitanju deljenje brojeva koji su stepeni dvojke tad bi moglo shiftovanjem bitova 3 mesta u desno al ovako ne znam. Broj koji treba da podelim imam predstavljen paralelno, svaki bit posebno na jedan kanal, ali ako je lakse moze se prebaciti u serijski oblik pomocu "parallel in serial out" shif registra (valjda).
[ mikikg @ 03.06.2013. 13:05 ] @
Pa 8 je 2^3, dakle binarna osnova, to moze sa shif registrom, 3 puta udesno da se shiftuje ulazna vrednost.
Medjutim u prakticnoj realizaciji to moze biti nesto komplikovanije kada bi se koristila cista diskretna logicka kola, treba verovatno ulazni lach (memorija), pa treba obezbediti tih 3 impulsa za pomeranje, treba verovatno i izlazni latch i jos start i reset impulsi. Mozda je ipak prakticije to napraviti sa nekim najprostijim PIC ili ATMEL kontrolerom koji ima bar 12 slobodnih ulaza/izlaza, dakle 7 pinova za ulaz (rekao si maksimalno ti je 100 decimalno ulaz, uklapa se u 7 bita), 4 pina za izlaz i jedan pin za start deljenja. Program za ovo bi se sveo bukvalno u desetak linija code-a. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|