Może nie najładniej to rozrysowałem - [url=http://forum.dzyszla.aplus.pl/topic... dzielenia liczb wielobajtowych z wykorzystaniem odejmowania
W takiej notacji, że każda cyfra jest w osobnej komórce tablicy, problemem jest obsługa wartości ujemnych. Najłatwiej jest operować na kodzie uzupełnienia do dwóch. Wtedy wyliczanie przeniesienia nie jest skomplikowane. Tutaj możesz zastosować algorytm pisemnego odejmowania, przy czym najniższe cyfry trzymać pod niskimi indeksami, aby można było działania...
Witam muszę napisać algorytm na dzielenie 2 liczb z zabezpieczeniem dzielenia przez 0 . Algorytm ma być napisany do delphi 3 lub 7 czy może ktoś mi pomóc bo jestem zielony z góry dzięki za odpowiedz :).
Idea jest bardzo prosta - to zwykłe skalowanie liczby: maxuint32 + 1 to 0x100000000 dzielone przez 10 to 0x1999999A albo 0x19999999 zalezy jak zaokrąglić Następnie dzielę przez 0x100000000 ( a to akurat >> 32) Czyli (X * (Y/10)) / Y = X / 10 Y = 0x100000000 Algorytm ma sens oczywiście dla platform, które mają mnozenie sprzętowe (nawet małych liczb),...
ponieważ 51 nie ma sprzętowego dzielenia liczb 16 bitowych więc kolega musi poszukać sobie algorytmu do dzielenia takowych liczb i ten algorytm sobie zaimplementować prosta sprawa jeśli nie uda się znaleźć to ja udostępnie ale uprzedzam jest po angielsku jak zresztą cała współczesna elektronikia (no poza drobnymi wyjątkami) :D
Funkcje trygonometryczne realizuje się często przez rozwinięcie ich w szereg Taylora. Ponadto powstał też algorytm CORDIC, który o ile dobrze pamiętam wymaga tylko operacji przesunięcia i dodawania, przez co świetnie nadaje się do implementacji w małych uC, czy FPGA (google). Do mnożenia stosuje się algorytm Bootha (niektóre rozwiązania sprzętowe działają...
A czego się spodziewasz po dzieleniu liczb całkowitych? Algorytm działający na floatach jest dalece bardziej skomplikowany. Możesz się posiłkować mnożąc resztę z dzielenia przez stałą, np. 10, 100, 1000 itd i ponownie dzieląc, uzyskasz wtedy kolejne cyfry po przecinku. W ten sposób odkryjesz arytmetykę stałopozycyjną.
Standardowy algorytm dzielenia binarnego - jeden z dwóch do wyboru - restytucyjny albo nierestytucyjny. Opis znajdziesz w każdej książce z okolic arytmetyki komputerów.
Jeśli chcesz to zrobić bez instrukcji przypisania, to używasz tzw. transformacji "worker-wrapper" (po polsku pracodawca-pracownik? :P) Dodatkowym plusem jest fakt, że tak wyrażona rekursja jest rekursją ogonową (wywołanie rekurencyjne jest ostatnią operacją wykonywaną w funkcji, stąd rekursję prosto da się zamienić na iterację). Oczywiście kod napisany...
Chyba najprostrzy możliwy algorytm to dzielenie przez podstawe systemu liczbowego, a reszta z dzielenia to będą kolejne cyfry w nowym systemie liczbowym.
ARM jest ma architekturę riskową więc dzielenie nie zawsze jest. Rdzeń Cortex M3 np. STM32 firmy ST ma dzielenie sprzętowe liczb całkowitych, zwróć uwagę na algorytm na pewno dzielenie jest i jeśli jest sprzętowe jest dużo szybciej. Jeśli to Ci nie weystarczy najlepiej będzie wziąć DSP'ka ze sprzętowym blokiem do operacji zmienno przecinkowcyh. Dzielenie,...
matematycznie to zalezy jaki zastosowano algorytm albo jakis prosty bez zadnych wodotryskow wtedy jest to tylko kewstja odpowiedniej ilosci danych a jeszli ktos sie do tego przylozyl i nie daj boze slyszal cos kiedys o kryptografi to raczej nalezalo by sobie to darowac bo zupelnie prosty algorytm moze sie okazac "trudnym" starczy jakies dzielenie modulo...
Daj sobie spokuj z dzieleniem liczb 16bitowych w 8 bitowym procesorze, bo jeśli nie chce Ci się zrozumieć tego banalnego algorytmu zamiany na BCD to na pewno nie będzie Ci się chciało przekopać przez algorytm dzielenia liczb dwa razy dłuższych niż procesor ;) Algorytm jest bardzo prosty, przesuwasz w lewo a to co odpada wrzucasz do jednostek, robisz...
Dzielenie jest łatwe w uproszczeniu, jeśli np. obie liczby mają jednakową ilość zer z prawej strony, to o tyle mozna je przesunąć w prawo. Ogólnie algorytm dzielenia jak liczb dziesiętnych w podstawówce. Mnożenie jest już w µkontrolerze i to nawet w postaci cząstkowej fmul .
Witam, Mam następujacy problem chcialbym zrealizować następującą funckję: Y = 440 - 0,014*X gdzie Y,X to liczby 2 bajtowe Czy ktoś ma jakiś pomysł jak jakimś prostym (mało zajmującym miejsca) algorytmem to zrobić? Ew. Jak sie wykonuje mnożenie i dzielenie 2 bajtowych liczb optymalnie? Chodzi o język asambler. z góry dziękuje
Pytanie pierwsze brzmi: czy to możliwe, że operacja pobrania liczby losowej może oczekiwać na zmianę zegara systemowego, aby ją wygenerować? Liczby pseudolosowe można generować w ten sposób, że jest to reszta z dzielenia przez jakąś liczbę (od tego zależy zakres liczb) liczby sekund jakie upłynęły od 1 stycznia 1970 roku. Tę liczbę sekund można także...
Z pewnością sposobów jest mnóstwo. Przypomniałem sobie troszkę asembler mcs51. Mam nadzieję, że program w asemblerze wyjaśni wątpliwości (albo pogłębi ;-) ). Skorzystanie z "tabliczki dzielenia" lub "tabliczki mnożenia" na liczbach o podstawie 2^8 przedstawia poniższy program. Tabelę rozbiłem na 3x256 bajtów. Obliczenie realizowane wg zależności x=256*a+b...
Weź pod uwagę, że w kodzie powyżej jest prymitywny algorytm sprawdzania liczb pierwszych przez dzielenie modulo przez poprzednio znalezione. Szybkość sita też spada - ale ja pytam, jak te szybkości się porównują. do przedziału fib(46) - fib(47): 30 sekund / 3 godziny (tak z grubsza) Dodano po 1 Nieco szybsze od sita Eratostenesa jest sito liniowe. Przy...
Już Ci pisałem, że operacje na wielomianach to nie to samo, co operacje na liczbach, które te wielomiany reprezentują. W(x) mod P(x) to reszta z dzielenia W(x) przez P(x), nie ważne czy w GF(2) czy w R. W GF(2) + i - są równoważne i wykonywane jako XOR na bitach, stąd W(x) + P(x) dla reprezentacji binarnej oblicza się jako XOR liczb binarnych. Reszta...
Czyli że chodzi o algorytm jeśli chodzi o 1 zadanie to jest ono proste Należy zainicjować zmienną licząco liczby oraz sumującą a następnie dodawać kolejne wartości z tablicy i inkrementować zmienną liczącą kiedy nie będzie już więcej liczb dzielisz sumę przez liczbę elementów. Jeśli chodzi o 2 zadanie to odczytujesz elementy z tablicy i zapisujesz je...
Niestety nie ma prostego sposobu. Można co prawda użyć takiej konwencji, że będzie możliwe dzielenie za pomocą "/". Jednak takie dzielenie może "pochłonąć" wszystkie zasoby układu programowalnego. Poza tym taki algorytm będzie bardzo czasochłonny i co gorsza czas jego wykonania będzie zależał od argumentów. Proponuję zastosować jeden ze sposobów dzielenia...
Witam mam zrobić algorytm który z podanych 10 liczb ma podać mniejsze od 0. Oczywiście w programie ELI, siedziałem na tym dobre kilka godzin ale nie umie tego zrobić :( Dodawać odejmować mnożyć dzielić umie ale tego nie:( Proszę o pomoc:)
Algorytmy mnożenia i dzielenia, a także innych działań są dokładnie opisane m.in. w książce Józefa Kalisza Podstawy elektroniki cyfrowej . Sporo algorytmów można znaleźć na stronach producentów mikrokontrolerów w działach aplikacje. Jeśli znasz choć trochę asembler '51, to na pewno dasz radę. Pozdrawiam.
W szkole uczą dzielenia ręcznego w formie tabelki. Z dzieleniem w formacie dwójkowym jest tak samo. Ma tylko jedno ogromne uproszczenie: W systemie dziesiętnym liczba w pobranym fragmencie może nam się zmieścić 0, 1, 2, 3... lub 9 razy i zostaje nam reszta. W przypadku dzielenia dwójkowego liczba może się zmieścić 0 lub 1 raz... i zostaje nam reszta...
Cecha EA = -22 Cecha E6 = -26 wg algorytmu który podałem w moim pierwszym poście 0100 0000 0000 0000 0000 0000 * 2^(-22) 01,00 0000 0000 0000 0000 0000 = 1.0 kg -1kg 1100 0000 0000 0000 0000 0000 * 2^(-22) wniosek: najstarszy bit określa znak liczby, 1 - ujemna, 0 - dodatnia 0.1 kg 0110 0110 0110 0110 0110 0110 * 2 ^ (-26) 0,00011001100110011001100110...
To jest dosyć ciekawy temat - tradycyjne dzielenie liczb jest czasochłonne bez sprzętowego układu dzielącego. Dlatego ludzie upraszczają sobie życie stosując dodatkowe algorytmy, działające dla określonych dzielników. Dla dzielenia przez kolejne potęgi liczby 2 wystarczy przesuwać rejestr w prawo. Z kolei przytoczona przez Ciebie procedurka dotyczy...
Zrób rzutowanie dzielonych liczb na floaty.
[url=http://forum.dzyszla.aplus.pl/topic... dzielenia na wielobajtowych liczbach w systemie binarnym przedstawiłem w zlinkowanym tekście. Jeśli jednak chcesz zastosować stricte zasady dzielenia pod kreską, to również można. Najlepiej potraktuj liczbę wejściową jako ciąg tekstowy. Następnie od jego początku szukaj takiej wartości, która...
Więc proponuję zakończyć bezsensowną dyskusję na temat szybkości MCU, a skupić sie na rzeczywistym problemie autora. A kto dyskutuje? Dałem sugestię aby starać się unikać dzielenia liczb 32-bitowych - co akurat w tym algorytmie zdecydowanie nie jest konieczne.
System liczbowy jak każdy inny - zamiast marnować bajt pamięci na jedną cyfrę mógłbyś w nim przechowywać znacznie więcej. Ale to już akademicka zabawa. Co do dzielenia - możesz zrobić tak, jak dzielenie pod kreską ;) Gdzieś miałem algorytm rozrysowany, ale zapodziałem :( Jak znasz assemblera, to moze wyczaisz - jest to w 3J wykonane: http://www.dzyszla.aplus.pl/programy_i_t...
jak zadajesz takie pytanie, to zawsze podaj: -jaki procesor -ile ew. masz miejsca w pamieci (na tablice itd.) -raczej podawaj dokladnie problemy, bo to jest dosyc ogolne... -jaka ma byc dokladnosc tego jest cos takiego jak fixedpoint math - to taka matematyka na liczbach ulamkowych z uzyciem liczb calkowitych. Polega to na tym, ze zamiast...
witam, musze zrobic dzielenie 2 doubli, czyli musze podzielic dwie mantysy 52bitowe. Nie moge uzyc koprocesora, wiec pozostaja rejestry 32bitowe. Probowalem trzymac jedna mantyse w 2 rejesrach (eax, ebx) w jednej byly by 32 bity w drugiej 20. Z druga tak samo. Uzylem algorytmu dzielenia przez odejmowanie, pomijajac fakt, ze jeszcze nie dziala tak jak...
Ja mam algorytm i zrobiony podprogram wykonujący takie dzielenie, ale jest napisany na inny procesor. Dziwię się że ktoś jeszcze zajmuje się takimi procesorami. Z czystej ciekawości jestem ciekawy co cię zmusiło do stosowania takich uP?. Natomiast jeśli chodzi o dzielenie to łap mnie na GG, to jest sporo tlumaczenia zwłaszcza, że nie będę mógł ci pomóć...
Czy fo variance = variance / (n - 1) jest prawidłowe? Dlaczego dzielimy przez n-1 a nie przez n? Tak, dzielenie przez `n - 1` zamiast `n` w obliczeniu wariancji jest standardową praktyką w statystyce i nazywane jest korektą Bessela. Zasadniczo, kiedy obliczamy wariancję z próbki danych (a nie z całej populacji), używamy `n - 1` w mianowniku, by uzyskać...
Witam! Trzeba zrobić w oparciu o ten szkielet: Dodano po 54 Dodano po 1 Oops... zadeklarowałem zmienną "i" a powinno być "a"... sorry K.G.
Sensu to nie ma żadnego. Dla każdego 8-bitowca jest to zabójstwo, bo każda operacja na danych czy to BCD, czy binarnych 64-bitowych zajmie wieki (zwłaszcza mnożenie i dzielenie). Są algorytmy resztowe umożliwiające unikanie dzielenia przy konwersji bin->BCD i całkiem zgrabnie to wychodzi (nawet na głupiutkim 51), ale wciąż nie widzę w tym sensu, jeśli...
Mam do napisania pewien program. A mianowicie Napisz procedure, która wylicza a^n mod m. Procedura powinna dzialac dla dowolnych a, m i n mieszcz¡cych sie na 32-bitach. i teraz tak wydaje mi sie ze jak podniose a do potegi n to przekrocze maksymalny zakres liczb, wiec z dzielenia nic nie wyjdzie. Ma ktos pomysl jak to zrobic?? Chodzi o sam algorytm...
Nie mam w tej cwili czasu na dokładniejszą analizę, ale zauważ że w celu uzyskania bardziej znaczącego bajtu zmiennej typu uint16_t należy podzielić przez 256, a nie przez 255. Zwiększ też wartość zmiennej ac_adder na 256, bo przy 24 otrzymasz przebieg poniżej 5Hz. Błąd jest na pewno w algorytmie bo np. to działa bez problemu (sprawdziłem dla pewności):...
mam jeszcze program ktory liczy tylko liczby pierwsze, zawiera ten fragment algorytmu sita erastotenesa i tyle, tez korzysta ze statycznej tablicy 8Mb i po skompilowaniu zajmuje 11 kilo ;) To chyba nie tu jest problem, choc moze sie myle. jesli dobrze rozumiem to po uruchomieniu programu tworzona jest w pamieci tablica 8Mb i nie ma to wiele wspolnego...
No w DSP (takich srogich jak np LTE i nie tylko) arytmetyka fixed point jest podstawą i float jest tylko ostatecznością. Ja tam i FFT i atan2 liczę na fixed point i jeszcze dzielenie algorytmem babilońskim co by przypadkiem nie użyć działania dzielenia, co robi zamieszanie w kodzie: https://github.com/marcinszajner/Driver/...
Witam, zabieram się za stworzenie prostego, ale efektywnego algorytmu rysowania trójkątów. Pośrednio do osiągnięcia celu potrzebuję algorytm do rysowania linii ukośnych. Najpierw chciałbym zaimplementować to w dowolnym współczesnym języku programowania, a docelowo zaimplementować sprzętowo. Samych algorytmów rysowania linii jest co najmniej kilka, jednak...
Nie ma żadnej gotowej funkcji. Należy zaimplementować algorytm konwersji liczby (czyli dzielenie w pętli i wypisywanie znak po znaku wartości wynikającej z reszty dzielenia przez podstawę systemu.
Tak, zgadza sie. Troche sie ostatnio spieszylem i zapomnialem ta linijke dopisac. Zorientowalem sie i mialem to zrobic w pozniejszym czasie. Widze ze czujnie sledzisz. Dzieki. Teraz to samo zrobie dla liczby 16 bitowej. Mam algorytm na dzielenie wielobajtowe, ale musze poszukac czegos takiego: 16bitow podzielone przez 4 bity. Ewentualnie zmodyfikuje...
W tym wontku http://www.elektroda.pl/rtvforum/topic27... co podał Tdv jest też biblioteka w której możesz dzielić nawet liczby 64 bitowe
No dobrze, ale jakim algorytmem posortuje ostatecznie? Wszak to, co przedstawiłeś, jest tylko określeniem metody porównywania, a nie sortowania. Ponadto chyba miałeś na myśli nie bit, tylko miejsce dziesiętne (jedności, dziesiątki, setki). A tak poza tym, to wydaje mi się ten przedstawiony algorytm po prostu... głupi. Wszak jeśli chcielibyśmy oszczędzić...
Nie wnikałem w procedury dziel i zwyciężaj, ale już na pierwszy rzut oka zauważyłem błędy w procedurach "poczatek" i "wprowadzanie". Poniżej są te dwie procedury po poprawieniu błędów. Podstawowym błędem było dwukrotne wywoływanie funkcji IOresult. Ponadto w poprzedniej wersji procedury "wprowadzanie" użytkownik zmuszany był do wprowadzania danych pojedynczo,...
Witam was, wziąłem się ostatnio za pracę nad stworzeniem układu kompresji obrazu jpeg wykorzystując fpga.Język w jakim będę pisał to VHDL. Sporo czytałem na temat tego algorytmu i trafiłem na kilka rozbieżności, które, mam nadzieję, zostaną rozwiane w tej dyskusji. Więc: 1. Trafiłem na informacje, że konwersja z RGB na YCbCr jest konieczna, a w innych,...
Nie wiem o co chodzi z tym free; jeszcze się z tym nie spotkałem. W tym zadaniu największy problem będzie stanowił chyba algorytm, bo nie wiem za bardzo jak to zrobić, żeby program sprawdził czy dana liczba jest pierwsza czy nie. Program chyba będzie musiał sprawdzić czy reszta z dzielenia modulo % przez każdą z liczb mniejszych od dzielonej liczby...
troche późno odpowiadam ale jak to mówią lepiej... więc najpierw mnożenie i dzielenie wydaje mi się że dałem Ci najlepszą rade jaką mozesz dostać, mnożenie i dzielenie są dość skąplikowane to fakt, dlatego nie sądziesz chyba że ktoś napisze to za Ciebie Ja natomiast dałem Ci linka do strony gdzie masz i mnożarki i dzielarki gotowe do ściągnięcia i do...
masz jakis debugger, aby podejrzec dokladne wartosci rejestrow? bo ogolnie algorytm ten dziala u mnie. tak w ogole to jesli w twoim kompilatorze int ma 32bity, to wersja z dzieleniem moze byc lepsza. no chyba ze nie bedziesz mial liczb wiekszych niz 99999, bo to max jaki jest w stanie obsluzyc ten algortym. oczywiscie mozna sobie wstawic kolejne wielokrotnosci,...
Siemka, Czy w 24 zadaniu czasem nie jest błąd ? Moim zdaniem te zadanie jest niekompletne i wprowadza zdających egzamin w błąd. Co jeśli wezmę liczby A=10 i b=10 wtedy to już całkiem ten algorytm nie ma sensu. Ten algorytm tak jak już wspomniałem jest niedopracowany. Ciekawostka - przypisz zmiennej a = 5 a b = 2. Wynik algorytmu to wyświetlenie liczby...
a w jakim języku programujesz ? Bo np.: w Bascomie jest gotowa funkcja. Programuje w asemblerze. Teraz mi się przypomniało, że 6 się dodaje po dodaniu dwóch liczb bcd. Najpierw do mniej znaczącej liczby. Jesli nie nastąpi przepełnienie półbajtu to się tą 6 spowrotem odejmuje, jak nastąpi to się zostawia i robi to samo ze starszym półbajtem. ... Więc...
Wersja "pro" :) int szybkie_mnozenie(int a, int b) { int c=0; while(b) { if(b%2) c+=a; a*=2; b/=2; } return (c); } Sprawa jest elementarna. Wiadomo, że mnożenie liczb kosztuje sporo czasu procesora. Zatem ktoś wymyślił algorytm zamieniający "kosztowne" zwykłe mnożenie na równoważny zbiór sumowań i mnożen przez 2, co dla dowolnego procesora jest drobiazgiem...
Przerwanie co 8ms (ze względu na to że stosuje bascom i liczby zmiennoprzecinkowe nie mogę zejść niżej) W przerwaniu: - sczytane wartości napięć i prądów i porównanie ich z wartościami zadanymi -jeśli prąd powyżej 1A niż zadany to wyjście napięciowe zmniejszone o połowę i wystawia zmienną kontrolną1 na 1 -Jeśli różnica 0,5A a 1A to napięcie zmniejszone...
Panowie mam zrobić taki programik, niestety nie wiem czy jest ok, w jagodzie wywala mi błędy. A moje wypociny wyglądaja tak: mov A,R0; mov R2,A; mov A,R1; mov R3,A; krok: mov A,R3; mov B,A; mov A,R2; div AB; mov A,B; mov R7,A; mov A,R3; mov R2,A; mov A,R7; mov R3,A; jnz krok; mov R6,R3; end Czy to jest ok? Ps. Dla dwóch liczb zachodzi zależność: NWW(a,b)=ab/NWD(a,b)...
Musze napisać program w 6800 w którym będę dzielić liczbę BCD przez 2. Czy zna ktoś algorytm tej oracji??
Bede wdzieczny za algorytm na ASM umozliwiajacy dzielenie liczby 16-to bitowej przez 16-to bitowa. Mysle i mysle i nic mi do glowy nie przychodzi. Szukam i tez nic (ale moze za slabo). Dzieki i pozdrawiam bede wdzieczny za wszelkie sugestie
Czemu w pierwszym poście nie napisałeś ograniczeń na rozwiązanie jak n, k, architektura, ilość interesujących kombinacji (ileś początkowych)? Jaki jest sens generować kombinacje dla n=1000 i k=400 jeśli maksymalny numer będzie ograniczony? Jeśli maksymalny numer będzie ograniczony, to początkowych 390 lub coś koło tego liczb będzie praktycznie ustalonych...
no to jest właśnie ten drugi algorytm i myślę, że na potrzeby nauki, to badanie w pętli podzielności przez wszystkie liczby (dla optymalizacji - od 2 do 1/2*x, gdzie x to badana liczba), czyli sprawdzanie, czy reszta z dzielenia modulo (%) jest równa 0 (jeśli tak - to nie będzie l.pier.). Czyli w punktach: 1. Pobierz kolejną liczbę 2. Przyjmij jako...
Jakby ktoś był ciekawy to wygląda na to, że program pobiera w jakiś sposób liczby z zegara systemowego, dzięki czemu nawet pierwszy wynik funkcji, przy każdym włączeniu arkusza Excel jest za każdym razem inny. Jeżeli chodzi o zapis wzoru to jest on przygotowany dla języka programowania Fortran. Funkcja Float zmienia typ zmiennej z całkowitej na rzeczywistą....
Poza tym pobieżnie przejżałem DS ATTiny i nie widzę instrukcji analogicznej do DIV w 8051?? Jak w nim dzielić liczby?? A czy znalazłeś MUL? ;) Do takich obliczeń niestety trzeba pisać własne funkcje. Można mnożyć i dzielić poprzez wielokrotne dodawanie lub odejmowanie danej liczby, ale to jest oczywiście dosyć mało optymalna metoda. Oczywiście mnożenie...
tjanusz :arrow: znam troszke c# na tyle ile mi jest to potrzebne, ale w c# przecież można także wstawiać kod asemblera tworząc np. swoje własne algorytmy dzałań matematycznych. Pszepraszam, ale nie wiem co to znaczy " żródełko" gcc lub FreePascal i jak mogę do tego dotrzeć :arrow: elektryk dokładnie np. teraz pracuję nad potęgowaniem modulo metodą iterowanego...
Wow. No to teraz gratuluje... Żywca. Co to za idea, żeby liczbę 2 bajtową przedstawiać przy pomocy dwóch liczb jednobajtowych i dwóch operacji na liczbach dwu i jednobajtowych?? I bynajmniej nie chodzi o czas (choć to zajmie go ogrom) ale o celowośc taiego dziłania, bo PO CO rozbijać liczbę przez te dzielenia skoro już ją masz w jednym kawałku?? A ty...
Takie głupie pytanie: jakiego typu jest v_temp? Przy obliczeniach jest automatyczne rzutowanie na float i spowrotem do całkowitych po obliczeniach? Co do przesuwania wyników to już ktoś wcześniej zwracał uwagę że indeksy tablicy lecą od 0 a nie od 1 i tymczasem tylko to mogę podejrzewać. Wyświetlanie liczb z przecinkiem można zrobić prosto, nawet na...
Algorytm którego używam przesuwa bity, ale równie dobrze można dzielić tak jak piszesz, tylko jak używam dzielenia to program "rośnie" wiec chyba pozostanę przy sprawdzaniu najstarszego bitu i OR. Rośnie o kilkadziesiąt bajtów. Tyle ile ma procedura biblioteczna dzielenia liczb 16 bitowych ze znakiem. Ale pewnie dzielenia prędzej czy później będziesz...
Witam Jestem studentem I roku informatyki. Potrzebuję wykonać projekt na bramkach logicznych jednego z poniższych układów logicznych. Za wszelką pomoc BARDZO DZIĘKUJĘ! a) uniwersalny 8-bitowy sumator prefiksowy (PPA) dla kodu NB i U2 (dodawanie i odejmowanie) w strukturze Ladnera_Fischera lub Hana-Carsona, b) czterocyfrowy uniwersalny sumator dziesiętny...
Rozwiązanie prawie jak na tacy: http://www.engr.colostate.edu/EE251/Labs... opis jest dla MC 68HC12. Jak słusznie zauważyłeś, Motorola 68K nie ma rozkazu mnożenia (ani dzielenia) BCD, trzeba więc najpierw wykonać konwersję do bin, przemnożyć i wynik zamienić na BCD. Na upartego, można ręcznie mnożyć BCD, algorytm jest opisany tu: http://www.evergreen.edu/biophysics/tech...
OMG tylko nie printf... zeby przeksztalcic cos na hex'a albo na liczbe binarna, wystarczy zastosowac znany i lubiany algorytm reszty z dzielenia. odsylam do wikipedii pod hasla kod binarny albo kod hexa... - powinno byc tam pieknie rozpisane jak to przeliczyc. ogolnie algorytm ten mozna zapisac ladnie w postaci petli. po przeliczeniu wartosci jednobajtowej...
Problem w tym że nie mam zielonego pojecia o Bascomie i BASICU :/ Program pisze w ASM'ie. Jak na razie zrobiłem to na skróty i działa ale to nie to....(po prostu zamiast dzielić przez 120 dziele przez 128)
Nie znam pascala ale algorytm działania w kazdym jezyku bedzie taki sam. A to liczba wejściowa Reszta z dzielenia A przez 10 pomnożyć przez 10 da to Ci dziesiatki natomiast jedności to A dzielone przez 10. Reszta z dzielenia to chyba oprerator Mod a dzielenie to /
/.../DO 16 STYCZNIA MAM TO WYDRUKOWAC/.../ w takiej sytuacji powinienes sie zastanawiac, jak dostac przedluzenie oddania pracy, o miesiac co najmniej; mimo ze slabo znam vhdl, to mam pare uwag - niestety te uwagi nie pomoga Ci zdazyc z tym projektem przed 16 stycznia function vec2int(licz : std_logic_vector) return integer is variable RESULT:...
Wiesz.....dobrze jest wiedzieć takie rzeczy tylko dzisiaj sprawę dzielenia załatwia jeden rozkaz. x/=y; i to dla liczb czterobajtowych. Resztą zajmuje sie kompilator i programista ma czas na inne rzeczy. Po co wyważać już otwarte dzwi i poznawać na nowo rzeczy zimplementowane w kompilatorach. Chyba, że piszesz w ASM. :) ale i tak dojście do algorytmu...
Algorytm zamiany sądzę że znasz: dzielenie liczby przez podstawę i zapisywanie reszt - reszty te tworzą cyfry reprezentacji liczby w nowym systemie (post wyżej). Problem w tym, że są ustawione w odwrotnej kolejności. Tu właśnie przydaje się rekurencja lub tablica do zapamiętywania cyfr - to masz niestety zabronione... Ale chyba można skorzystać z biblioteki...
Ponieważ liczba jest mniejsza niż 16^2 ;=256 to będą dwie cyfry szesnastkowe. H1H0 H1=X DIV 16; H0=X mod 16; lub H0=X-H1*16; div - dzielenie całkowite mod - reszta z dzielenia uzyskane liczby z zakresu 0-15 kodujesz: od 0 do 9 -> cyfry od zero do dziewięć od 10 do 15 -> litery od A do F (A,B,C,D,E,F) czyli dla 184 H1=184 div 16=11 H0=184 mod 16=8...
Dziekuje za szybką odpowiedź. Proszę mi uwierzyć, że zadałem sobie sporo trudu i rozumiem na jakiej zasadzie wzór działa i jak fajnie można uniknąć kalkulacji floating point w asemblerze za jego pomocą. Użyłem go w też w swoim projekcie. Jedynie czego nie mogę zrozumieć to w jaki sposób wyliczyć ilość wymaganych przesunięć w prawo. Autor projektu aby...
Chcialbym zauważyć kolego DR.Vee, że twój algorytm choć poprawny, to jednak nie jest optymalny. Spróbuj nim obliczyć np NWD(100000000, 1) :) Lepiej użyć jednego z nastepujacych algorytmow NWD(a,b) := { jesli ktoras z liczb jest rowna zero, zwróć tą drugą, w przeciwnym wypadku zwroc NWD(min(a,b), max(a,b) modulo min(a,b))...
Cóż, jak to sie mówi, niezły hardkor:P Ale jeśli chodzi o mnożenie liczb wielobajtowych to można rozwiązać to tak jak mnożenie w słupku, czyli powiedzmy mamy do wykonania działanie a:b*c (gdzie a:b jest liczbą dwubajtową - starszy bajt - a i mołodszy b). Rozpisujemy to tak.... jako liczbę wielobajtową, gdyż w goólności iloczyn dwóch liczb jednobajtowych...
PPS. Zachęcał bym do C++ choćby w formie "C z klasami". Które "studio" używasz? V.4 czy v.7 ? avr studio 7, gcc. Hm,. dużo ostatnio siedzę w C++, głownie aplikacje pod windowsa (builder, c#, czasem python). Tylko tam 1kb w prawo, w lewo to żaden problem. Xmegi to inny świat chociaż gramatyka podobna. Nie znam "myków" dla uP. Te "myki" to raczej braki...
W gimnzajum dostaliśmy zadanie: Pan Andrzej Mnożnik zamierza napisać program symulujący czterodziałowy kalkulator wykonujący następujące działania: dodawanie, odejmowanie, możenie, dzielenie ma dwóch ułamkach. Podanie danych kalkulatorowi polega na wczytaniu mianowników i liczników obu ułamków. Kalkulator wykonuje tylko jedno działanie wynrane przez...
Witam, Mam za zadanie napisać prosty kalkulator jako część zaliczenia na studiach, ale nie potrafię zrobić działania dzielenia. Proszę o pomoc. Ogólny zarys algorytmu wygląda tak: 1. Wciskamy przycisk 2. Wybieramy działanie 3. Podajemy liczby 4. Wynik
cytat z forum dvb-z " Wszystkie instrukcje wysylane do kart sa szyfrowane za pomoca kluczy RSA. RSA jest kodowaniem niesymetrycznym, tzn do kodowania używamy innych kluczy niż do dekodowania. Zasada tworzenia klucza publicznego i prywatnego: - wybieramy losowo dwie duze liczby p,q - obliczamy n=pq - obliczamy m=(p-1)(q-1) - wybieramy niewielka liczbe...
Odnośnie dzielenia: Przedmiot to "obliczenia symboliczne", więc rozwiązania problemów nie muszą być koniecznie bardzo optymalne (chociaż jest to mile widziane), zatem można stosować reprezentację liczb jako licznik/mianownik i problemy dzielenia się rozwiązują. Po drugie, przewidując kolejne pytania, piszę w dziwnym języku jakim jest Icon, w którym...
Proszę o pomoc :) to taka jednorazowa pomoc dla kolegi :P 4. Przedstaw algorytm rozwiązania problemu wyszukiwania maksimum i minimum w danej tablicy liczb całkowitych stosując metodę "dziel i zwyciężaj". 5. Dany jest uporządkowany ciąg liczb całkowitych (od najmniejszej do największej). Stosując metodę "dziel i zwyciężaj" utwórz algorytm wyszukiwania...
Zacznijmy od początku Korzystam z książki prof. Tomasza Zielińskiego "Cyfrowe przetwarzanie sygnałów ..." Jest beznadziejna :) Weź coś porządnego jak koledzy radzą Lyonsa albo (moja ulubiona) S. Smith FFT jest to szybsza wersja DFT, ponieważ redukuje liczbę mnożeń zespolonych. To nie jest wersja DFT, FFT to jest algorytm policzenia DFT. Teraz muszę...
Witam serdecznie wszystkich użytkowników ! Chciałbym zaprezentować działający projekt nad którym spędziłem z grubsza pięć i pół roku, a licząc dokładniej około 6000 godzin. Pewnego majowego dnia roku 2014 poczułem niezrównaną chęć poznania dokładnej zasady działania dość banalnego sprzętu jakim jest kalkulator. Niby jest to proste urządzenie i tak oczywiste,...
Remeknapr: mimo, iż mnożenie wygląda na poprawne, to jest ono błędne.. mnożenie dword*dword da wynik, który może zajmować 2*dword, więc pojawiają się przeniesienia. W najprostrzym przypadku mnoży się dword*dword i uzyskany wynik 2*dword dodaje się w odpowiednie miejsce do wyniku, przy czym trzeba kontrolować przepełnienia do sąsiednich pól. Prostrzy...
Witam zainteresowanych. Mam taki problem polegajacy na tym, ze musze napisac program ktory ma wyliczyc wartosc liczby zapisanej wartosciami zmiennych w przedziale 0 - 35 bez powtorzen. Do dyspozcji mam tylko 5 znakow a sa to: A B E K L R . musze znalesc dla tych znakow wartosci ktore nie moga sie powtarzac i sa liczbami calkowitymi. Liczby mam zapisane...
mirekk36 mój kompilator nie ma funkcji modo podobnych, robię na CC5X.Funkcja fajna na dzielenie ,możesz mi wytłumaczyć jakie podaje się argumenty ??Pierwszy zakładam że liczba którą chcemy podzielić,natomiast drugiego za bardzo nie rozumie (typ wskaźnikowy)??
To znaczy masz zrobić konwersję binarną na BCD ? R0 - od 0 do 256 R1 - jednosci 2 R2 - dziesiatki 7 R3 - setki 1 Algorytm 1: start: R0:=liczba R1:=0 R2:=0 R3:=0 while R0>=100 do R0:=R0-100 Inc R3 end while R0>=10 do R0:=R0-10 Inc R2 end R1:=R0 Algorytm 2 DIV - dzielenie całkowite MOD - reszta z dzielenia (łatwiej...
Programy się zwykle pisze a nie robi :) Przy pisaniu programów musisz wykonać następujące kroki: 1. Zdefiniować problem W przypadku twojego kalkulatora musisz określić: - typ obsługiwanych danych - czy to będą liczby wyłącznie całkowite czy całkowite i ułamkowe (ogólnie mówiąc rzeczywiste) - rodzaje działań jakie ma wykonywać twój kalkulator, np. dodawanie,...
Witam, Nie twierdzę że mój sposób sprawdzi się w Bascomie, dużo lepiej sprawdzi się asemblerze. Napisałem w Bascomie tak dla przykładu, myślę że tak jest przejrzyście, a chodzi po prostu o zasadę - sposób. AVR - serii Atmega to 8bitowce, więc tutaj w grę wchodziłoby tylko 8bit/8bit. Natomiast co ciekawe, AVR32 też nie ma dzielenia sprzętowego. Całkiem...
Witam, mam pewien problem. Mam napisać na zajęcia licznik,który bedzie używał dptru a nie rejestrów, ani timerów. Program na rejestrach mam zrobiony niestety brakuje mi pomysłu na ten na dptr. Mam prośbę żeby ktoś podsunął mi jakiś algorytm. Dodatkowo prowadzący zaznaczył,że program musi używać dzielienie 16 bitowego, co już też mam, ale złozyć to wszystko...
A, to przepraszam. W takim razie algorytm jest prawie poprawny.... Pierwsze dzielenie spowoduje już na początku utratę ostatniej cyfry. Więc najpierw modulo, a potem dzielenie całkowite. Co do warunku pętli - nigdy nie pamiętałem, czy przerwie na false czy true - użyj najlepiej debugera, albo przynajmniej kilku przykładów.
Pewnie. A później amatorzy programowania dzięki takiemu podejściu zapisują proste zmienne jako float albo nie wiedzą jaka jest różnica dla działania programu pomiędzy dzieleniem przez 8 a dzieleniem przez 9. Wiedza o asemblerze jeszcze nikomu nie zaszkodziła czego nie można powiedzieć o niewiedzy. Odpowiedziałbym jednak cytatem, że "premature optimization...
W atmega8 nie zmieści Ci się dzielenie? Wolne żarty. Przecież funkcja dzielenia 8bit/8bit to kilkanaście instrukcji... 16bit/16bit to ciut ponad 20 instrukcji. Oczywiście istnieje algorytm bin->bcd bez użycia dzielenia, nazywa się "shift-and-add" i jest opisany np. [url=http://www.engr.udayton.edu/faculty...
Ja podszedłem do tego z innej strony - zamiast zamieniać na BCD odejmuję w pętli stringi od siebie aż do momentu kiedy dzielna nie jest mniejsza od dzielnika. Wymyślenie algorytmu trochę mnie kosztowało ale mogę dzielić przez przez siebie liczby podane jako stringi o dowolnej praktycznie długości.
ZAD. 1. Przygotować i uruchomić programy w języku asemblera 8051: a) kopiowania N-bajtowego obszaru TABL 1 z pamięci kodu do pamięci wewnętrznej DATA (obszar TABL2), b) kopiowania bit po bicie w pamięci DATA fragmentu danych z obszaru TABL2, a następnie bajt po bajcie i utworzenie obszaru TABL3 c) kopiowania obszaru TABL2 do zewnętrznej pamięci XDATA...
Ad 1. 1. Dzielisz prze 2, resztę z dzielenia zapisujesz jako kolejny bit od końca. 2. Powtarzasz dopóki liczba nie osiągnie wartości zerowej. Ad 2. 1. kod binarny 1111 1111 to w postaci dziesiętnej - 255 2. więc 5V dzielisz przez 255 wychodzi: 0,01960784313725490196078431372549 3. Każdą wartość którą trzeba skonwertować dzielisz przez ta liczbę i zaokrąglasz...
Witam !! Potrzebuje policzyć wartość skuteczna napiecia sinusoidalnego. Sygnal (50hz) podaje na 12bitowy A/C i nastepnie wyliczam go wegług Usk= √1/n * ∑ U_{sk} = \sqrt{\frac{\sum_{1}^n - chodzi Tobie o ten wzór ? Jest kilka metod (Herona, Newtona - powinno być w dobrych tablicach matematycznych). Mi najbardziej do gustu przypadła metoda...
Witam, mam wielką prośbę do kolegów forumowiczów. Na zaliczenie z informatyki musze napisać dwa programy, niestety mam z nimi trochę problemów. Nie prosze o gotowe rozwiązania, tylko o pomoc. Zad.1. Napisz program który zapisze do pliku tekstowego figurę utworzoną z gwiazdek w taki sposób: *_*_*_*_* _*_*_*_*_ __*_*_*__ ___*_*___ ____*____ o n liczbie...
dzielenie liczb algorytm dzielenie dzielenie algorytm
komputer sterowanie szybami zimny kaloryfer czujnik indukcyjny sterownik
obliczyć przekrój kabla panele fotowoltaiczne grzałka
Czy uziemienie wpływa na grzanie wody w bojlerze? Wymiennik ciepła w kotle Junkers ZWR 23/24 - materiał