#include<stdio.h> #include<conio.h> int main() { int a, b, c; printf("podaj liczby do mnozenia: \na= "); scanf ("%d", &a); printf ("b= "); scanf("%d", &b); printf("%d*%d=%d", a,b,a*b); system("PAUSE"); return...
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ą...
Moim zdaniem takie problemy najlepiej rozwiązują noty aplikacyjne producenta MCU: http://www.atmel.com/dyn/resources/prod_... Albert
Błędem jest to, że przesuwanie rejestrów Multiplier i wynik jest taktowane tym samym zboczem zegara co dodawanie rejestru wynik do Multiplicand. Zawartość rejestru wynik jest w tym czasie nieustalona. To że jest typem inout nie ma znaczenia, ponieważ syntezer ze składni programu i tak wie, że musi ze zmiennej Multiplier utworzyć rejestr przesuwny.
Zasada działania algorytmu mnożenia wyjaśniona poniżej. Niestety po niemiecku ale graficznie dobrze zobrazowane. [url=https://www.mathetreff-online.de/wi... Albo [url=https://www.youtube.com/watch?v=Xaj... tym filmie Praktyczny przykład: [url=http://www.holzers-familie.de/schul...
Algorytm jest wzięty prosto z "kartki". Pierwsze co musisz określić to liczbę bajtów. Ten algorytm dla uproszczenia mnoży czynniki o tej samej długości. Czyli jeżeli jeden jest 2 a drugi 1 bajtowy to trzeba wybrać ten dłuższy.
dokładnie potrzebuję mnożenie wykorzystać w programi mikroprocesora AT80C52. Zaszła konieczność wymnożenia kilku liczb(współczynników) Potrzebuje rozwiązania programowe ewntualnie algorytm. Z góry dziekuję za wszelką pomoc. ERA 600035828
Mnożysz zawsze przez liczbę, a tę szybciej jest pobrać z tablicy współczynników niż wyliczać (wartość funkcji sinus wylicza się z rozwinięcia w odpowiedni szereg, a to zajmuje czas, zaś w FFT używane jest tylko kilka stałych wartości tej funkcji więc liczysz je raz na początku przed rozpoczęciem obliczeń FFT)
Witam. Mam mały problem z projektem. Muszę napisać algorytm równania, a wygląda to tak: wszystkie stałe mają być 8-bitowe i zapisane w kodzie U2, mnożenie wykonać metodą booth, piszę w asemblerze. Teraz pytanie jak pomnożyć np: -1/2 * 3,25. Wszędzie w necie są przykłady jak mnożyć same ułamki bez cześci całkowitych. Proszę o pomoc.
Temat nieaktualny, zamykam
Witam. Czy mógłby mi ktoś napisać programik Algorytm Strassena mnożenie macierzy w Visual C++? Byłbym bardzo wdzięczni
a nie mozna w C zadeklarowac zmiennej jako 64 bit? long long zmienna; W asm wykonywana operacja to: A = A + B, bo tak najprościej i najczęściej się stosuje :] Dodajesz po kolei bajty zaczynając od najmniej znaczącego. Pierwsze dodawanie wykonujesz jako ADD, każde następne jako ADC (z przeniesieniem z poprzedniego) Mnozenie, hmm... Wiesz, jak wygląda...
Znanej również jako Notacja Łukasiewicza ;)
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...
A może wypadało by poszukać trochę w googlach jak mnoży się macierze [url=http://www.matematyka.pl/56375.htm]... wynik w googlu oraz [url=http://edu.i-lo.tarnow.pl/inf/utils... opisany algorytm i przykład w C++
to nie jest kod ZM (znak moduł) tutaj jest kod U1. zresztą ja już wiem co tu jest nie tak. Po pierwszym przesunieciu sumujemy dwie ujemne liczby -5 i -11 co powino dać nam wynik -16 a nie -4. zapisując - 16 --> 0 1111 otzymujemy piaty bit który wstawiamy zamiast 1 podczas przesunięcia o bit w prawo. powstanie coś takiego SHR 0111 1000 SHR 1011 1100...
Jeżeli do celów edukacyjnych to ja bym to widział tak: Licznik zliczający w tył, do którego możesz wpisać wartość początkową (mnożnik powiedzmy) Rejestr mnożnej (drugiego czynnika) Sumator szesnastobitowy (na przyklad dwa osmibitowe połączone kaskadowo) Wyjscia sumatora, podajesz spowrotem na wejscia (odpowiedniego słowa oczywiście), na wejścia drugiego...
BIN na BCD (spakowane po dwie cyfry w jednym bajcie) 1. Wyznaczamy wielkość pola wynikowego (znakowego BCD) dla danej BIN (pole wynikowe to pełne bajty nawet jeśli to za wiele) 2.pole wynikowe BCD wstępnie zerujemy. ----------------------------------- ALGORYTM: 1. - Pole wynikowe BCD mnożymy przez dwa (czyli dodajemy je do samego siebie) oczywiście...
Albert - kocia to mądra młoda lady :) Nawet, jeśli Słowację ze Słowenią myli :) Kotek, to w zasadzie teraz nie łapiesz rekurencji jako takiej, czy wzoru na potęgowanie? Bo to jest tak samo, jak ze wzorem na mnożenie: 5*x=x+4*x 4*x=x+3*x 3*x=x+2*x 2*x=x+1*x 1*x=x 2*x=x+x 3*x=x+(x+x) 4*x=x+(x+(x+x)) 5*x=x+(x+(x+(x+x))...
chodzi głównie o algorytm mnożenia liczb zaszła potrzeba rozwiązania równania kwadratowego. Występują ujemne współczynniki. głownie chodzi o pomnożenie dwóch bajtów.
Witam. Dostalem sie do grupy seminaryjnej o nieszczesliwej jak dla mnie tematyce. Za zadanie mam do zrobienia " implementacja prostego algorytmu mnożenia liczb stałoprzecinkowych z wykorzystaniem sumatorów. Uruchomienie i przetestowanie układu w trybie symulacyjnym a następnie na platformie sprzętowej z wykorzystaniem układów Virtex firmy Xilinx ......
mogę tak od szczała podać ci dwa algorytmy mnożenia kombinacyjny i sekwencyjny jeśli cię to interesuje ale zaimplementować w VHDL-u musisz sobie sam (co zresztą nie jest trudne) jeśli cię to interesuje to daj znać bardziej wyszukane mnożenia musisz sobie poszukać w necie
DSP mają specjalne mechanizmy, które pozwalają na uzyskiwanie bardzo dużych mocy obliczeniowych w specyficznych dla przetwarzania cyfrowego algorytmach. Mowa tutaj np o filtrach FIR, gdzie robi się wielokrotne mnożenie z akumulacją. Typowe w DSP jest to, że taką opoerację jak: mnożenie, dodawania zwiększanie/ zmniejszanie kilku rejestrów, itp jednocześnie...
Dzięki za listing, ale ten algorytm również używa iteracji zamiennie X lub Y. Faktycznie, mnożenie można tu zastąpić przesunięciem w lewo o bit.
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.
Najprościej to znak po znaku, jak algorytm napotka cyfrę to mnoży to co ma przez 10 i dodaje cyfrę, jak napotka na kropkę to zwiększa numer operowanej zmiennej.
Mam 3 algorytmy: bootha karatsuby i jeden inny wszystkie mnożą mi liczby 32 bitowe w symulatorze Isim (Web Pack ise). Podczas symulacji moge ustawić dowolny czas symulacji ale nie wiem jak długo sam taki algorym liczy. Wiek ktoś w jaki sposób można by było porównać czas mnożenia tych algorytmów?.
Takie algorytmy (chociażby RSA) są dość silne, ale niestety okupione jest to dużym zapotrzebowaniem na pamięć programu i danych. Ja bym powiedział że większym problem jest ograniczona moc obliczeniowa mikroprocesora, musi działać na liczbach o bardzo dużej ilości bitów. O ile dla szyfrowania symetrycznego wystarczy użyć odpowiednio wielu zagnieżdżonych...
Ten algorytm przedstawia prosta metode mozenia ktora czesto byla stosowana w procesorach nie posiadajacych instrukcji mnozenia. wykozystuje sie w nich rotacje bitow i dodawanie. Algorytm jest bardzo prosty w realizacji.
Mógłbyć jednak zadać jakieś pytanie. Czy może przyszedłeś się pochwalić, że znalazłeś błąd w kompilatorze/algorytmie? BTW: przy mnożeniu masz możliwy int overflow.
Witam ! Mam pewien układ do stworzenia... Układ mnozacy 16x16bitów z wyświetlaniem na LEDach. Rozmiar specjalnie tak dobrano żeby nie wykorzystywać ROMu. Dodatkowo nie można używać mikroprocesorów jak i mikrokontrolerów. Dane powinny być wprowadzane za pomocą mikroprzełączników. Myślę, że jako algorytm trzeba by wykorzystać może mnożenie z przeniesieniem...
Zacznij od skrócenia ułamka, przez który mnożysz: 980/512 = 490/256 = 245/128 Potem spróbuj przedstawić go jako sumę lub różnicę: = (2 * 128 - 11) / 128 = 2 - 11/128 Proste?
Witam, Wiadomo, że rdzeń M4 - to inny procesor, myśle, ze koledze "marcinlas" chodziło o porównanie nie koniecznie możliwości DSP. Rdzeń M3 nie posiada DSP - trudno tylko w tym go porównywać. Raczej chodziło o np. czasy dostępu do pamięci przy 168MHz, ogólnie szybkość komunikacji z peryferiami, no i zwykłe algorytmy: mnożenie dzielenie z przecinkiem...
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...
Zastąp mnożenie wielokrotnym sumowaniem. Ma to wyglądać dokładnie jak mnożenie w słupku na kartce tyle że na liczbach binarnych tj: jeśli na danej pozycji w drugiej liczbie jest 1 to musisz wykonać dodawanie. oczywiście pierwsza liczba musi być proporcjonalnie do bitu przesunięta w lewo. 1101 x 1010 --------------- 1 x 1100 0 x ---- 1 x 1100 0 x -----...
Po to są wzorki z całkami żeby wyszła prosta metoda z dodawaniem i mnożeniem. Z pewnością nie zerują się zawsze; mogą istnieć jakieś szczególne teoretyczne uwarunkowania, ale jeśli nawet udowodnisz że występują w Twoim układzie to zaraz wylezie jakaś niedokładność spełnienia założeń i jednak dadzą się zmierzyć (ale dopiero przy odbiorze pracy). Możesz...
Po obejrzeniu wykładu "dlaczego komputer kwantowy wciąż nie działa" https://www.elektroda.pl/rtvforum/viewto... niewiele więcej rozumiem xD, w każdym razie był tam podany przykład, że przy użyciu komputerów kwantowych, można by próbować łamać RSA, który to algorytm polega na 'łatwości' mnożenia liczb (pierwszych) i 'trudności'...
Chyba doczytałeś tylko do pierwszego algorytmu na w/w stronie... :] Oczywiście mnożenie dwóch zmiennych 32 bitowych da Ci 64 bity wyniku, więc i mnożenie i dzielenie modulo musisz wykonywać na takich argumentach. Pozdrawiam, Dr.Vee
Nie jestem biegły w C... ale z tego co widzę, ten Twój algorytm jest mądrzejszy od mojego (trochę teoretycznego) o to, że próg decyzyjny cisza/niecisza jest ustalany nie w odniesieniu do bezwzględnego zera, ale dynamicznie, w odniesieniu do obliczonego wcześniej poziomu tła, czyli niejako jest bardziej adaptacyjny do sygnału rzeczywistego. Po to wprowadzili...
Jak liczba 62-bitowa jest stała to mnożenie jest jeszcze prostsze bo wystarczy napisać stały algorytm bez żadnych skipbittestów - to jedna sprawa. Po drugie lepiej takie mnożenie robić w bazie danych - transmisja będzie 2x szybsza a i samo mnożenie na PC-ie szybsze.
Od czasu do czasu stykam się z pojęciem urządzenia analogowe i cyfrowe. I chociaż definicję można odszukać w internecie nie jestem w stanie określić, które urządzenia są analogowe a które cyfrowe. Czy możecie podać jakiś prosty sposób na zaklasyfikowanie urządzenia do jednej bądź drugiej grupy? Problem polega na tym że świat jest analogowy, urządzenie...
Witam, Potrzebuję zbudować mnożarkę dwóch wektorów o długości 512-bit każdy. Posiadam układ Spartan3E 500 dysponujący 20 mnozarkami 18x18 .Zrealizowałem mnożenie dwóch licz binarnych o długości 512 bit-ów - mnożenie wg. algorytmu "shift-add". W najgorszym wypadku mnożenie trwa 512 cykli zegara. Naturalnie architektóra ta została syntezowana do rejestrów...
Sprzętowo czy programowo? Ile bitów. Ogólnie jest to mnożenie kolejnych liczb przez potęgi dziesięciu.
Nadal nie bardzo rozumiem w jaki sposób chcesz uzyskać potęgę systemy liczbowego, załóżmy 13, przy pozycji np. 999. Chcesz mnożyć 13 999 razy?
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...
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 .
Mam częste problemy (czasowe) z konwersją wielkości fizycznych w małych 8-bitowcach na wyświetlacze i stąd moja adoracja dla metod wykorzystujących tablice. Wbrew temu, co wyżej napisano proces obsługi wyświetlacza nawet kilka razy na sekundę może być na tyle absorbujący, że zabraknie czasu na ważniejsze operacje. Pozdrawiam. a.. i jeszcze mała uwaga....
Wiesz, jak wykonuje się mnożenie pod kreską? Ten sam algorytm możesz śmiało zaimplementować w oparciu o tablice mnożąc absolutnie dowolnej wielkości liczby. Najszybciej chyba znajdziesz rozwiązania oparte o assemblera, ale żaden problem przenieść to na język wysokiego poziomu. Coś podobnego (choć oparte o kod BCD) znajdziesz np w [url=http://www.dzyszla.aplus.pl/program...
Witam Stosuję obliczenia numeryczne tylko w asemblerze z całkiem dobrymi efektami. Na stronie ATMELA można znaleźć gotowe procedury dzielenia i mnożenia wielokrotnej precyzji, jest pełno stron z przykładami działających procedur. Znalazłem nawet pierwiastkowanie (nie potrafię zrozumieć algorytmu :cry: ). Pisanie programów w asemblerze daje nieograniczone...
zadeklarowales int tab tab[0][0]=a; tab[0][1]=0; tab[0][2]=0; tab[1][0]=0; tab[1][1]=b; tab[2][0]=0; tab[2][1]=0; tab[2][2]=1; Zastanos sie najpierw nad tym co robisz z pamiecia. nastepnie zacznij szukac problemow w algorytmach.
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
Napisałem program z algorytmem mnożenia dużych liczb. Jeśli masz chwilę czasu rzuć na to okiem. Oceń, czy zmierzam we właściwym kierunku. Wydaje mi się, że nie do końca działa prawidłowo. http://remek62.republika.pl/Tymcz/tymcz.... Algorytm wg. schematu w załaczniku (ponieważ wklejony do postu wychodzi połamany) na podstawie http://rudy.mif.pg.gda.pl/~bogdro/dos/a_...
Jeśli nawet się nie da, to są tam operacje kopiowania rejestrów 16<->32 bit, coś się powinno dopasować. Algorytm w poście wyżej uzupełniłem, zakłada że mnożenie i dzielenie działają na 32 bitach. Sprawdź i daj znać o wynikach :)
Chyba udało mi się znaleźć algorytm. Wydaje się jednak dziwnie prosty. Ok, działa, bo w zasadzie musi. Liczysz po prostu korelacje próbek z zadanym sinusem i kosinusem, tak z definicji. Ale jednak masz jeszcze dość ciężki obliczeniowo algorytm. Na każdą próbkę liczysz sinus i kosinus i masz dwa mnożenia. Co prawda sinus można wstępnie stablicować....
W zasadzie wszystko miałeś dobrze (przynajmniej formalnie), z wyjątkiem liczby Pi, którą trzeba zapożyczyć z Excela. Dodałem tylko nagłówek i deklaracje (nie są konieczne, ale lepiej jak są, bo zabezpieczają przed niektórymi błędami). Algorytmu nie sprawdzałem, zresztą nie podałeś danych, a istotne są tu jednostki. Widać tylko, że zmienna Obr jest niewykorzystana....
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...
Ludziska Dzięki za pomoc. Na razie mam problemik i pewnie się uśmiejecie:). Liczby w sofcie nie przekroczą setki, a po przecinku dwie cyfry. Zrobiłem jak zaproponował ElGregor - rozbiłem cyfrę na dwie części. Funkcje dodawania chyba jest. Dodałem najpierw nagłówki dwóch cyfr:) później resztę (po kropce) i podzieliłem przez 100 aby ewentualnie zasilić...
//pełny algorytm crouta #include <iostream> #include <conio.h> #include <stdio.h> #include <stdlib.h> #define N 4 /* Rozmiar macierzy */ /* Macierz współczynników */ double A[N][N] = {{4.0, 0.0, 0.0, -3.0}, {2.0, 6.0, 0.0, 0.0}, {0.0, 0.0, -1.0, 3.0}, {5.0, 0.0, -2.0, 1.0}};...
Cześć. Chciałbym zrobić układ do mnożenia dwóch liczb 3-bitowych za pomocą bramek logicznych. Z tego względu że na wyjściu jest więcej jak jedna kombinacja, to nie wiem, jak sobie z tym poradzić za pomocą tablic Karnaugha. Ktoś pomoże i mi poradzi oraz powie, jaki jest algorytm projektowania dla tego zagadnienia? Cześć! Projektowanie układu do mnożenia...
Bierzesz najmłodszy bit i mnożysz go przez 2 podniesione do potęgi odpowiadającej pozycji bitu od prawej (począwszy od 0). Potem kolejny na lewo bit, znów mnożysz jak wyżej i dodajesz do wyniku. Ot, cały algorytm.
Zaczynasz wprowadzanie znaków od najstarszych pozycji, nie? Jeśli zaczniesz od 0, to będziesz miał (na starcie) liczba = 0 liczba = 0*2 + '0' - '0' // kody ascii objaśnił Łuk_F czyli liczba się nie zmieni, ciągle będzie wartość 0. Gdy trafisz na pierwszą jedynkę dostaniesz liczba = 0*2 + '1' - '0' czyli w liczbie pojawi się 1. Kolejna jedynka liczba...
Panowie, dlaczego dyskutujemy o dzieleniu? Przecież w algorytmach filtrów itp. najczęściej wykorzystuje się operację mnożenia i dodawania.
[syntax=c] uint32_t bin2BCD(uint32_t val) { uint32_t retval; uint8_t count, i, *ptr = &retval; retval = 0; for (count = 0; count < BCD_DIGITS * 4; count++) { for(i = 0; i < 4; i++) { ptr[i] += 0x33; if((ptr[i] & 0x08) == 0) ptr[i] -= 0x03; if((ptr[i] & 0x80) == 0) ptr[i] -= 0x30; } retval <<= 1; if(val & (0x08L << ((BCD_DIGITS...
Jeszcze tylko pytanie, dlaczego ten kalkulator tak dziwnie liczy potęgi za pomocą funkcji Wyjaśnienie jest dość "proste". W kalkulatorach operacje bardziej złożone, takie jak potęgowanie, w których konieczne byłyby wielokrotne, pośrednie, operacje mnożenia są zastępowane przez operacje prostsze, które wymagają tylko jednokrotnego mnożenia przez układ...
Zostałem uszczęśliwiony pięknym przedmiotem pt. Analiza i Złożoność Obliczeniowa Algorytmów... tylko, że niestety na studiach inżynierskich tego przedmiotu nie miałem ani ja ani moi koledzy z grupy :/ Chętnie więc przyjmę wszelką pomoc w tej kwestii - tzn. jakieś materiały (ale nie na zasadzie pierwsze lepsze znalezione w google) zrozumiałe dla kogoś...
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:)
Metoda dekodowania jak najbardziej poprawna. Jednak jak poskładasz klocki (Hilbert na FIR, mnożenie, LPF na FIR), na 99% nie zadziała. Istnieje tutaj przynajmniej 1 ciekawy niuans, który może Ci umknąć...
Tak jak boomerang powiedział mnożenie lub dzielenie to najprościej uzyskać przez sumowanie lub odejmowanie logarytmów. Logarytmować możesz wlepiając w sprzężenie zwrotne diodę, tranzystor lub układ z tranzystorem. Mnożenie można też uzyskać stosując funkcje (a+b)^2-(a-b)^2 = 4ab Podniesienie do kwadratu uzyskasz zproksymując układ z diodami. dodawanie,...
Poczytaj sobie jeszcze w przepisach jak wygląda algorytm zaokrąglania groszy w rozliczeniach finansowych...
Ja bym zastosował tzw metodę list wektorowych. Macierze rzadkie powinny mieć BARDZO dużo zerowych wektorów. A potem już z górki. Co do rozproszenia tego procesu, to bym kolejnym dostępnym maszynom zlecał kolejno tworzenie wektorów, a potem już tylko sprytny algorytm uwzględniający zera tym razem kolejne maszyny obliczają np kolejne kolumny.
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...
Nie jesteś na dobrej drodze. Zrób sobie przykład na piechotę (na papierze) i jak się wynik zgodzi to ubierz to w rozkazy. Na razie nie widze algorytmu który chcesz zastosowac do mnożenia. I jeśli będziesz umieszczał program do analizy na forum, to bardzo dokładnie opisz każdy rozkaz do czego służy (co robi)
Doskonale rozszyfrowane, gratuluje ko_rex Jest to faktycznie IP www.elektroda.net Tak jak napisałem liczyło się głównie poprawne rozszyfrowanie przekazu, natomiast zastosowana metoda nie miała znaczenia. Liczyło się głównie prawidłowe przeanalizowanie sygnału i zastosowanie odpowiednich metod aby dotrzeć do celu. Dla porządku powiem jak przekaz został...
Macierze w ujęciu C++ to w sumie tablice 2 wymiarowe Dodawanie macierzy jest proste odpowiadające sobie pola dodajesz lub odejmujesz z mnożeniem też nie jest źle ale musisz znaleść algorytm gdyż po prostu go nie pamiętam.
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...
Już kilka razy pisano Ci powyżej, że problem leży w tym, że wynik mnożenia dwóch liczb 16-bitowych na AVR ma 16 bitów, i że wystarczy napisać: suma+= (uint32_t) tab[indeks]*tab[indeks]; żeby iloczyn miał 32 bity, to po pierwsze. Po drugie - algorytm, który przyjąłeś, jest zabójczy dla 8-bitowego AVR. Co chwila zmieniasz założenia, a kompletnego kodu...
A^{0.2} = A^{\frac {2} { 10}} = \sqrt Potęgowanie to wielokrotne mnożenie (mul, muls, fmul, fmuls) tej samej liczby przez siebie w pętli, przy czym ilość iteracji pętli jest równa potędze minus 1 (dla potęgi równej 1 nic nie robimy... ;) ). Co do pierwiastkowania to przydatna jest reguła pierwiastkowania iteracyjnego Newtona dla \sqrt \rightarrow y_{i+1}...
Akurat drugi przykład jest bardzo kiepską ilustracją, bo CRC operuje na wielomianach w polu GF(p), gdzie p jest liczbą pierwszą, a dzielenie takich wielomianów to nie to samo co dzielenie liczb dziesiętnych (przede wszystkim nie ma tam "pożyczki"). Na dodatek nie istnieje pole GF(10), bo 10 nie jest liczbą pierwszą. Poza tym w "przykładzie" są błędy...
Czy nie ma szybszych alglorytmów? Oczywiście, że są. Wykorzystaj algorytm mnożenia i dzielenia pisemnego. Dzięki temu znacznie ograniczysz ilość dodawań czy odejmowań. Na przykład 1234 * 5678 zrobione metodą powyższą to 1234 dodawania (zakładam, że program jest chytry i sprawdza na początek która liczba jest mniejsza i ją bierze jako licznik pętli)....
Masz wykonać 1 mnożenie, które Twój sprzęt umie zrobić, bo ma taki rozkaz. Zamiast tego robisz jakieś cuda. Po co? Przeanalizuj jeszcze raz w czym problem. Napisz dobry algorytm (wystarczy słowami, ale ma robić to co chcesz zawsze i przy pomocy tego co potrafi 51). Potem pójdzie jak z płatka Albert
Więc nadal używaj zapisu 8 bit. Ale przed wysłaniem wykonaj operacje na zmiennej gdzie trzymasz daną do wysłania. Aby bit ustawić wykonaj operacje sumy logicznej , aby bit wyzerować mnożenie logiczne. Przy odczycie wyzeruj w zmiennej odbiorczej wszystkie bity poza tym który sprawdzasz, a potem sprawdź czy zmienna równa 0 jeżeli tak to bit 0 jak nie...
Bardzo dawno temu, pod koniec lat 80 bawiłem się trochę przebiegami EKG i robiłem na tym FFT. Mimo, że w sumie częstotliwość podstawowa EKG to pojedyncze hz, próbkowanie było 250 albo 500 sps. Co prawda jedynie badałem właściwości układu na symulatorze, ale wyszło, że ówczesny demon szybkości TMS320C10 (chyba wykonywał 5MIPS, tyle że mnożenie stałoprzecinkowe...
Na procesorze który ma k MIPSów algorytm o złożoności obliczeniowej O(n) wykonywany będzie przez n/(k*10^6) sekund (około). Na szybszym procesorze, powiedzmy x*k MIPSów problem o rozmiarze x*n (przy algorytmie o koszcie obliczeniowym O(n) ) będzie wykonywany przez ten sam czas. Sprawa zrozumienia polecenia nauczycielskiego zależy głównie od tego jak...
Podstawą jest Pełny 1 bitowy sumator (FullAdder): https://obrazki.elektroda.pl/3093507700_... Z niego można zbudować sumator wielobitowy łącząc w szeregu wiele jednostek: https://obrazki.elektroda.pl/5294488100_... W rzeczywistych układach stosuje się inne rozwiązania bo powyższy jest tym wolniejszy im więcej bitów...
:) Dzieki doceniam ale to już wogole mnie przeroslo :) zeby cos z tego wyciagnac trzeba cosik rozumiec :) a ja ni w ząb ktorej sekcji mam się przyjzec i jak moge ja przerobic zeby mnozyla liczby 7 bitowe przy zachowaniu algorytmu mnozenia metoda Bootha. Chetnie pomoge w kazdej innej dziedzinie... ale ASM to nie moja bajka :/
Witam Przejrzałem wszystkie stosowne posty na elektrodzie i z ich pomocą próbowałem napisać transmisję po SPI z CRC8 (x8 + x2 + x + 1). Transmisja bez CRC przebiega pomyślnie, lecz z CRC nie ;/ Potrzebuję Waszego potwierdzenia, że liczę poprawnie kod CRC8 lub korekty algorytmu. Próbowałem już na chyba wszystkie sposoby obliczać tę sumę. Wykorzystanie...
Eskimosik - po co to pokazuje opisana kilka postów wyżej Katastrofa lotu Air France 447. A po co stosuje się RAID ? Tylko dla zwiększenia wydajności? Po co w bankach czy w innych instytucjach na odległych kopiach zapisuje się transakcję po transakcji? Stosuje się nie tylko replikacje online, ale i kopie przyrostowe, które w uproszczeniu możemy nazwać...
Musisz wynik podzielić przez 1000. Algorytmy dzielenia można znaleźć na stronie www.atmel.com w notach aplikacyjnych.
Standardowo ani verilog, ani vhdl nie oferują syntezy operacji zmiennoprzecinkowych. Będziesz więc musiał albo napisać własną implementację tych operacji, albo znaleźć gdzieś gotowy kod (o ile o to chodziło zadającemu zadanie...). Możesz też wykorzystać algorytm Cordic, zapewne będzie prostszy do implementacji (dodawanie/odejmowanie/shift) niż dodawanie/mnożenie/dzielenie...
Faktycznie, definicja FFT. :) Jednak algorytm podsunięty przez Freddiego bardziej przemawia na pierwszy rzut oka. Dwa razy mniej mnożeń (z dużym przybliżeniem). Co więcej, nie będę musiał stosować praktycznie żadnej filtracji wstępnej. Duży plus ! (dla obu rozwiązań ):) Dzięki Panowie !
A czego tu nie rozumieć ? Po prostu musisz sobie zrobić osobne procedury albo etykiety dla każdego rodzaju przeliczeń czyli osobną dla Mohm, Kohm ,Ohm . Następnie układasz algorytm np coś takiego. Wybór jednostki wejściowej Mohm Kohm Ohm i teraz wybierasz sobie rodzaj jednostki następnie z klawiatury zczytujesz wybór z menu i teraz musisz mieć wszystkie...
witam i podziwiam :) nie chce mi się wyciągać ZX z szafki i znowu gapić się w ten zielony monitor :) Dzięki Sinclairowi za Spectruma ! gdyby nie ten komputer to nie znałbym się na mikroelektronice. Rok temu przesiadłem się na PCta, i przekładam swoje programy na intelowskie mnemoniki '25 * 255 ORG 0 ; jeśli to "samoróba" ORG 32768 ; jeśli...
A kto powiedział że nie można dzielić i mnożyć? Wszystko włącznie z całkowaniem i różniczkowaniem oraz wszelkimi operacjami macierzowymi jest możliwe, wszystko zalezy tylko od algorytmu. Do pomiaru prędkości i obrotów sugeruje zapoznać się z przykładowymi programami częstościomierza, bo w sumie chodzi o pomiar impulsów w jednostce czasu.
Deczko mało optymalny algorytm... Poszukaj w sieci - są znacznie szybsze, bez potrzeby rozpoznawania kierunku, bez mnożenia i dzielenia. :arrow: tmf Właśnie o to mi chodziło
No jasne że tak, jeżeli w swoim formacie Q stosujesz U2 to dla procesora nie ma znaczenia czy dodaje "zwykłe" liczby czy ze stałym przecinkiem. Na twoim miejscu zrobiłbym zamiast Q7 to Q6 i nie bawił z przenisieniem gdy wystąpi przepełninie. No i trzeba pamiętać że dodawać i odejmować można liczby w tym samym Q a przy dzieleniu i mnożeniu to już jest...
Tak jak większość polecam rozmowę z wykładowcą i zgodę na przesunięcie przecinka minimum o jedną pozycję w prawo. Zwracam Tobie uwagę na jeszcze jeden problem - 8051 jest kontrolerem tylko 8-bitowym !. Czyli bez arytmetyki 16 bitowej ( minimum ) dostaniesz tylko 1/255 czyli ok. 0.4%. A obliczenia choćby tylko 2 bajtowe, a zwłaszcza mnożenie zajmuje...
Ciekawy projekt. Choć z braku czasu na pewno nie będę mógł pomóc w praktycznej realizacji, to chciałem zwrócić uwagę na parę spraw. Program jako taki nie wydaje się być skomplikowany, jednak ew. realizacja musi zostać poprzedzona dobrymi przemyśleniami. Załóżmy, że układ selektora jest ok i bez problemu wyłapuje rytm. Np. taki, jak na rysunku w załączniku....
W swoim poprzednim poście podałem kilka linków - artykułów w których zwięźle opisane są różne algorytmy wyznaczania dnia tygodnia wg daty. Wystarczy chyba tylko popatrzeć w nie, prawda? I będzie wiadomo, dlaczego np. mnożymy sumę dni przez jakąś stałą...
Wg pewnej książki klasyczne mnożenie dwóch liczb po milionie cyfr na maszynie o dzielności 10MIPS (mało ale niech tam) zajmie 24 godziny! Istnieją inne algorytmy, wg. tego samego źródła algorytm Karatsuby 10 minut, FFT 10 sekund (doba to 86 400 sekund) na tej maszynie pomnożenie miliarda cyfr przez miliard zajmie tylko 2700 lat (FFT 3 miesiące)
Czesc, W vhdl'u typ real jest raczej do symulacji i synteza nie zrozumie go aczkolwiek nowy standard vhdl 2008 zdefiniowal dwa nowe pakiety ktore definiuja zmiennoprzecinkowa arytmetyke dla syntezatorow. Nie wiem tylko czy wspomaganie dla tych pakietow jest wbudowane w najnowsze XST czy Quartus. Jednym z rozwiazan tego problemu byloby przejscie na stalo...
mnożenie kolumn asembler mnożenie tabliczka mnożenie
kondensator impulsowy uszkodzić zasilanie dwubiegunowe usunięcie spacji
pilot inspire t3030 kosiarka world
Napięcie na anodzie diody BYP401/200 przy 45V Oporność głośnika w radiu lampowym Pionier