A obydwie zmienne (2,3) powinny być wtedy w nawiasie? Niestety nie. Chociaż w powyższym przypadku będzie ok, bo żadna jawna konwersja nie jest potrzebna. Mnożenie dwóch liczb 16 bitowych może dać maksymalnie 32-bitowy wynik, a ponieważ 32 bitowy typ int jest domyślny na ARM więc jest ok. Niemniej konwersja na uint64_t następuje dopiero po wykonaniu...
Witam poszukuje procedury mnożenia liczb 16 bitowych na 8051. Czy ktos może mi pomóc??
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
_pieczas zauważ iż modyfikujesz tylko 1 element tablicy, liczenie za każdym razem sumy z całej tablicy nie jest potrzebne. Pseudokod: Ta podpowiedź pozwoliła mi skrócić czas obliczeń do tego stopnia, że wg symulacji procesor wyrobi się w czasie poniżej 0,5ms. Zasadniczo minimum już jest spełnione, ale skoro można wyciągnąć więcej to spróbuję. Dziękuję...
Z drugiej strony pisząc w języku C nie za bardzo ma sens zastanawianie się co ile cykli zajmuje - to jak program będzie skompilowany zależy od kompilatora, jego wersji i przede wszystkim opcji kompilacji To akurat Mirku jest prawda. Chyba nie przeczytałeś reszty zdania. Przy włączonej optymalizacji mnożenie x*15 i x*16 będą się różnie wykonywały......
No więc jest na to prosty sposób i zwie się fixed-point math. Zakładasz, że liczba jest zapisana w formacie np. 4:4 bity , gdzie 4 wysokie bity to liczba całkowita w przedziale 0-15 , a 4 niższe to ułamek w przedziale 0/16-15/16 Jeżeli mnożysz liczbe 8:0 przez 4:4 to masz wynik 12:4 i wszystko cacy - masz swój wynik i wartość ułamkową. Jeżeli chciałbyś...
Schemat logiczny, tablice Karnough Musiałbyś rozpisać wszystkie możliwości i potem jeszcze wpisać to do tabeli Karnough'a. Czyli będzie tak, że R1 to wejście, zaś R2 wyjście. Teraz R1_0 to LSB wejścia, zaś R1_7 to MSB wejścia i tak samo dla wyjścia. Teraz wystarczy to zapisać w tabeli prawdy: R1_7 R1_6 R1_5 R1_4 R1_3 R1_2 R1_1 R1_0 | R2_7 R2_6 R2_5...
zadeklaruj w funkcji zmienne jako long...
A jak juz napiszesz i przesymulejesz logike mnozarki opisanej powyzej (mnożenie przez dodawanie i przesuniecie)- pare tygodni jak nic ;) . To sproboj napisac, syntezowac (najlepiej czyms innym niz XST z ISE Xilinxa), zaimplementowac mnozenie przy uzyciu "*" wynik <= a*b; Bo cos mam przeczucie ze dla mnozenia liczb 8 bitowych "lepszej" implementacji...
Za zadanie mam mnożenie dwóch liczb 3-bitowych. Czy jest ktoś w stanie mi powiedzieć, czy jest dobrze? https://obrazki.elektroda.pl/1711311500_...
Jak na tym układzie zrobić taki mnożnik? Jakich funkcji użyć? Co z czym i dlaczego tak Najpierw próbowałam to zrobić samodzielnie dając na wejścia sterujące 1011 i M=1 które odpowiadają funkcji AND , ale wtedy wymnażają się poszczególne bity a nie całość, kombinowałam jeszcze z przenoszeniem, ale również nie skutecznie, skończyły mi się pomysły jak...
Możesz wykorzystać w tym celu układ scalony 74181, który jest 4-bitowym ALU w technologii TTL. Na jedno wejście podajesz na stałe liczbę 9 a na drugie liczbę 4-bitową. Jako funkcję wybierasz mnożenie arytmetyczne. Pozdrawiam wszystkich jjanek
Witam. Mam dwie liczby zapisane w kodzie U2 a=2E(hex) ; b=F9(hex) . Zatem bitowa reprezentacja tych liczb to: a = 0010.1110 b = 1111.1001 w systemie dziesiętnym: a = 2+1/2+1/4+1/8 = 2+7/8 = 2,875 b = -2^3+4+2+1+1/2+1/16 = -8+7+9/16 = -1+0,5625 = -0,4375 1)chcę te liczby dodać do siebie: a+b 0010.1110 1111.1001 ---------- 0010.0111 dodatkowo przeniesienie...
Proszę o podpowiedź czy układy CPLD/FPGA będą w stanie przetworzyć operacje matematyczne w kilku cyklach zegarowych (może nawet w jednym cyklu) ? Temat dotyczy sprzętowego (bardzo szybkiego) mnożenia liczb 64bit x 64bit a nawet 128bit x 128bit, Większość nowoczesnych układów FPGA ma wbudowane sprzętowe układy mnożące, tyle że one operują na liczbach...
Otrzymane 2 bajty łączę w liczbę 16 bitową. Mnożę ją przez 10 i dzielę przez 16 (tj. przesuwam o 4 bity w prawo). Mam w wyniku temperaturę 10x większą niż w rzeczywistości. Ewentualne obliczenia i ustawienia wewnątrz programu robię na liczbach 10x większych. Dla procesora to żadna różnica. Wyświetlaniem zaś zajmuje się za każdym razem ten sam podprogram,...
Witam, Za zadanie dostałem zaprojektować układ mnożący 2 liczby 4 bitowe. Najlepiej jakby układ zrobiony był na sumatorach 4 bitowych i rejestrach przesuwnych w lewo i prawo. Pozdrawiam i proszę o pomoc.
Mnożysz lewą cyfrę przedstawiającą wartości dziesiątek x10 i dostajesz 10100 binarnie mnożenie warto zrealizować jako odpowienie przesunięcie bitowe, gdy mnożysz x10 to tak jakbyś mnożył x8 i mnożył x2 27x10 = 27x(8+2)= 27x8 + 27x2 = 27x2^3 + 27x2^1 czyli wynik mnożenia dowolnej liczby x10 jest rowny sumie jej przesuniecia w lewa o 3 bity i przesuniecia...
Witam, chcę wykonać układ mnożący 2 liczby 4bitowe. Sugestia, to zrobić ten układ na licznikach. Liczby będę podawał zwykłymi przełącznikami równolegle, i wynik wyświetlał na diodach. Kto ma pomysł, odnośnie realizacji ? A nie lepiej użyć 74181?
Witam. a i x są liczbami 16 bitowymi. wykonałem mnożenie liczby 16bitowej przez 16 bitową i teraz mam problem bo nie mogę zrobić dodawania(+b). wynik mnożenia liczba 32bitowa, chciałem dodać jakąś liczbę 8bitowa. moje pytanie jak zrobić w asemblerze dodawanie liczby 8b do 32b?
Nie wiem w takim razie w czym problem, to prosta matematyka. A procesor ma funkcje mnożenia i dzielenia 8bit wystarczy zrealizować rozszerzenie na 16bit. Tak ma 8bit, ale nie wiem jak optymalnie napisać np mnożenie dwóch liczb 16 bitowych, ma ktoś jakiś kod ?
ADMUX=0b10000000; //kanał 7 ADC Zamiast 7 ustawiasz zerowy kanał ADC, a ten pin wykorzystujesz jako wyjście na wyświetlacz przecież... nic dziwnego, że bzdury wychodzą. O co chodzi z tym mnożeniem przez 100 (i dlaczego w przerwaniu, do tego jeszcze na zmiennej globalnej)? Jeśli już to powinno być przez 2 (wtedy wystarczą liczby 8-bitowe) albo (na 16-bitowych)...
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...
Czy mógłbyś pokazać jakiś schemat ? Mam tylko 5 przerzutników, a to co Ty proponujesz musiałoby korzystać z 8 (bo z założenia ma to być układ mnożący przez 3 liczbę 8-bitową).
nikt nie liczy alpha blendingu tylko mnożył 3 liczby 8 bitowe.
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...
Czy ktos wie jak zrealizowac podstawowe funkcje arytmetyczne ( dodawanie ,odejmowanie, dzielenie mnożenie) na liczbach 16- bitowych w procsorze 99c51.
Witam. Gdzie znajdę gotowe procedury w asemblerze dla pic 16f84 np. mnożenie,dzielenie liczb 32-bitowych itp.
No i właśnie o to mi chodziło gdy pisałem żebyś o to nie pytał ;) Bo tak czułem że nie będziesz umiał tego wyświetlić ;) Wynik niestety jest 24-bitowy więc nie może być w dwóch adresach. Ma być w trzech. To takie trochę tłumaczenie jak chłopu na miedzy, bo to niby jedna liczba i ma jeden adres, ale chodzi o to że ma 3B i już. Więc jako 16-to bitową...
Mam taki problem z mnożenie dwóch liczb 32-bitowych, cały czas otrzymuję nieprawidłowy wynik. np. [syntax=c]uint32_t a = 15470591; uint32_t b = 512; uint64_t c; c = a * b; // otrzymuję: c = 3625975296 // powinno być: c = 7920942592[/syntax] Da się jakoś ten problem rozwiązać ?
(...)Dlaczego w takim razie stała z większą liczbą 100000 jest obliczana prawidłowo a 10000 tylko z wymuszeniem longa?(...) 100000 jest od razu traktowane jako „long“ (32 bity), więc i mnożenie 8*100000 wykonywane jest jako 32-bitowe, z prawidłowym wynikiem. Natomiast w działaniu (8*10000) preprocesor mnoży dwie stałe 16-bitowe, traktując...
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.
Namoje szczęście mnożenie ma być przez liczby całkowite Ale mnożenie przez liczby całkowite też będzie z błędem. Nie podaję częstotliwości i innych szczegółów- na tym etapie jest to nie istotne. To akurat jest bardzo istotne. Do wysokich częstotliwości trzeba inaczej podejść. Podaj chociaż bardzo przybliżony zakres. I powiedz czy wymagana jest stuprocentowa...
dobra a wiec od nowa pisze co i jak, dostałem od nauczyciela trzy pytania dotyczace asemblera, ja osobiscie jeszcze nic w nim nie robilem nie mialem stycznosci i troche go nie kumam.... 1. Inkrementacja jest to..., natomiast dekrementacja jest to ... w języku programowania ASEMBLER 2. Napisz prosty program w ASEMBLERZE dla układu 8051 realizujący funkcje...
Szkoda, że nawet na próbę trzeba się rejestrować, bo chętnie bym sprawdził, czy wersja 5 już umie poprawnie przeliczać dec na hex. Co jakiś czas pytam chata GPT i copilota "What ASCII characters are equivallent of four character code 1229215826?" i zawsze dostaję inne wyniki; raz jak pociągnąłem temat to bot upierał się, że wykonał kod (poprawny) w...
Witam, mam do rozwiązania zadanie, w którym trzeba zrobić układ iteracyjny mnożący liczbę binarną 16-bitową razy 3. Nie mam pojęcia jak narysować graf do tego układu. Czy mógłby ktoś narysować ten graf? Pozdrawiam
1. Round() dostaje argument całkowity, zamienia go na float, a następnie z powrotem na int. Operacja ta nie robi nic, za to zajmuje zapewne grube setki cykli procesora. 2. Te pętle while() działają tak: tak długo, jak jest spełniony warunek, zapalaj (już zapaloną diodę) i czekaj - ciut bez sensu. Dlaczego nie: if (NORTH() < SOUTH()) zapal; else zgaś;...
Używam do pisania w języku VHDL programu Xilinx ISE 9.1i ale bardzo mi on nie leży. Na zajęciach korzystamy z WebPacka, który jakoś bardziej według mnie jest przysfajanly jednak problem jest z legalnością tego więc jadę na wyżej wymienionej darmówce. Może mi ktoś powiedzieć czy idzie to jakoś zoptymalizować i wyłączyć zbędne funkcje żeby nie wciągało...
Czy dało by się zrobić schemat do komparatora zbudowanego na sumatorach '83? Komparator 4 bitowy (większe analogicznie). Suma liczby A i zanegowanej liczby A daje na wyjściu same jedynki, co daje się zdekodować bramką AND (liczby A=B). W przypadku gdy liczba niezanegowana jest większa od zanegowanej, wychodzimy poza zakres i generowany jest bit przeniesienia...
To działa tak samo dla dowolnej ilości bajtów. Liczbę wejściową wysuwasz z najstarszego bitu najstarszego bajtu Czyli przesuwasz liczbę 32 bitową (mnożysz przez 2). Wysunięty bit (w znaczniku przeniesienia) wprowadzasz do najniższego bitu najniższej tetrady liczby BCD. Przed każdym kolejnym przesunięciem sprawdzasz każdą tetradę czy nie jest >=5...
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?.
Chodzi o pomnożenie próbki przez liczbę x z zakresu 0-255 i potem przesunięcie o 8 bitów w prawo, żeby uzyskać próbkę o współczynniku x/255, tak? Dokładnie. Mnożenie ma niewielki narzut (procesor ma instrukcję MUL), a dzielenie przez 256 to po prostu obcięcie najmniej znaczącego bajtu. Stałą? Przecież volume_coefficient to zmienna. Owszem, ale nie...
Mam spore doswiadczenie w projektowaniu układów cyfrowych, ale o czymś takim nie słyszałem. I przyznam, że nie rozumiem problemu. Bo co to właściwie znaczy "jednobitowy" i ma mnożyć ten bit przez 6 ?! To jakaś bzdura. Natomiast przy mnożeniu liczby (iluś-tam bitowej) przez 6 można skorzystać z zależności, że: y = 6 * a = 4 * a + 2 * a A mnożenie przez...
Skoro poniższy kod, działa wg Twoich oczekiwań, to napisz może jeszcze proszę, co to znaczy, że "wynik jest dobry" i w jakim zakresie zmiennych adcresult32 oraz a .[syntax=c]int32_t adcresult32; uint32_t a; adcresult32 = (int64_t)((int64_t)adcresult32*a)>>16;[/... i dzielisz liczby 64-bitowe, a wynik przypisujesz do liczby 32-bitowej.
Poszukaj bibliotek mnożacych 16bitowe liczby. Dodano po 26 TEN PROCEK JEST 8 BITOWY!!!! Dodano po 50 A w ogóle chcesz mnożyć bitowo? Czy matematycznie?
Witam, to mój pierwszy post na forum, więc przepraszam, jeśli umieściłam go w złym dziale. Mam problem ze zrealizowaniem układu na laboratorium z układów logicznych. Muszę zrealizować układ mnożący zadaną liczbę 4-bitową przez 1 lub przez 4 w zależności od wyboru, z tym że przez 4 mnożone mogą być tylko liczby z zakresu 0-3. Do dyspozycji mam układ...
ATMega ma ALU zdolne do mnożenia dwóch liczb 8-bitowych w 1 cyklu zegara... http://ww1.microchip.com/downloads/en/Ap... W sumie to istniał układ mnożący dwie liczby 4-bitowe - 74284. Tu masz ładne omówienie teorii, z przykładami: https://www.electronicshub.org/binary-mu...
Witam, proszę o pomoc, mam do wkonania nastepujące zadanie: napisać program wykorzystując assembler procesora z80, który będzie mnożył 2 liczby 8-bitowe, wykorzystując stos do przechowywania. Mnożną można umieścić w rejestrze A, natomiast mnożnik w rejestrze B, (wynik w HL). Byłby ktoś w stanie napisać taki programik?? pozdro... rrally(at)interia.pl...
Tak myślałem, że należy cały port zapisać do jednej zmiennej, tylko nie byłem pewny czy po zapisaniu do zmiennej liczby binarnej mogę korzystać z niej jako dziesiętna. Jeszcze pytanko z tym mnożeniem, jeżeli po pomnożeniu wartość liczby się nie zmieni, to po co ją w ogóle mnożymy? :D Chyba nie do końca dokładnie przeczytałeś posty wyżej. McMonster...
btw nie jestem pewien ale za pomocą przesunięcia bitowego w lewo << na AVR się chyba nie da otrzymać liczby 32 bitowej. Trzeba albo przesuwać w prawo albo inaczej cudować :)
To jest dość proste do rozwiązania. Załóż, że użyjesz EPROMu. Masz dwie zmienne 4-bitowe, wynik ma składać się z (zapewne) 3 lub 4 znaków. Podłącz do EPROMA: - nogi A0-A1 - wejście do multipleksowania wyświetlacza (do obsługi czterech cyfr) - nogi A2-A5 - wejście argumentu #1 - nogi A6-A9 - wejście argumentu #2 - nogi A10-A11 - wejście typu operacji...
Nie widzę jak radzisz sobie z przepełnieniami podczas dodawania i mnożenia, a z opisu problemu wydaje mi się, że u Ciebie właśnie to następuje. Po pewnej ilości działań masz przepełnienie i dalsze wartości są błędne. Pamiętaj, że gdy mnożysz dwie liczby 8-mio bitowe wynikiem jest liczba 16-to bitowa i musisz z niej wybrać któreś 8 bitów do dalszego...
mnożenie liczb bitowych mnożenie liczb odejmowanie liczb bitowych
ekranowanie miedź sygnał dekodera komputerze sterowanie klapami
parkowanie silnika wycieraczki parkowanie silnika wycieraczki
Kia Rio II - Centralny zamek nie działa Wymiana szufladki odkamieniacza w żelazku Tefal