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ś...
Witam, wlacze dalej z 8051 jako licznikiem kilometrów. Ktos doradzil mi abym poszukal procedur ALU ktore wykonuja obliczenia na 16 bitowej liczbie w 2 rejestrach. Znalazlem dodawanie odejmowanie konwersje etc. Nie znalazlem nigdzie mnozenia dzielenia itd. Moze zaczne od problemu, napisalem program ktory w ciagu sekundy zlicza impulsy na T0(P3.4) w ciagu...
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...
Lecz w który miejscu mnożę dwie liczby 16 bitowe podczas zapisywania do tablicy? mnożę 8 bitowe b i 256 ( 8bitów ) Ty to rozumiesz. Ja to rozumiem. Kompilator tego NIE rozumie. Poza tym dziwny ten zapis: [syntax=c]b=0b&00011111[/syntax] Ani średnika na końcu ani sensu w środku.
Jest źle. Największe liczby 3-bitowe to 111b = 7d 7×7=49 49d = 110001b Jest to liczba 6-bitowa, a na rysunku jest 7 bitów wyjściowych. Nie mogę wykluczyć, że siódmy bit jest zawsze 0, ale gdyby tak było, należałoby wyeliminować to wyjście. Laborkę miałem 40 lat temu, więc więcej nie napiszę. Na dziś zamiast bramek dałbym procesor PIC 1 szt. i program...
A jesli chcesz uzyskac jakas sensowna pomoc to napisz dokladniej o co Ci chodzi a nie licz na jasnowidzenie forumowiczow :) Skad te liczby? Jak je wprowadzac? Co dalej zrobic z wynikiem? Do czego to urzadzenie? Czy moze rozwiazaniem moze byc 6-pinowy mikrokontroler? BF
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
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. 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?
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 Chce wprowadzić z klawiatury 2 liczby (w BKD), np 99 i 88. Jak wymnożyć te 2 liczby i wyświetlić je w BKD 99(63H) * 88(58H) = 8712(2208H) Liczba którą osiągniemy będzie 4-ro bajtowa o mnożna i mnożnik po 2 bajty. Proszę o konkretną pomoc Z góry wielkie dzięki
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. 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...
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 ktos wie jak zrealizowac podstawowe funkcje arytmetyczne ( dodawanie ,odejmowanie, dzielenie mnożenie) na liczbach 16- bitowych w procsorze 99c51.
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...
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 ?
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ą...
(...)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.
Witam. Gdzie znajdę gotowe procedury w asemblerze dla pic 16f84 np. mnożenie,dzielenie liczb 32-bitowych itp.
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...
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...
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)...
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ś;...
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...
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ć ?
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?.
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...
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...
Owszem będzie jeśli zależy Ci na szybkości wykonywania programu. Operacje na 32 bitowych liczbach w AVR-ku są bardzo wolne ponieważ procek musi się nieźle napocić z przeniesieniami itd. Jak wolne? Ile może trwać np. mnożenie dwóch kilkucyfrowych liczb, albo obliczanie pierwiastka kwadratowego?
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.
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...
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...
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...
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...
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)....
Witam poszukuje procedury mnożenia liczb 16 bitowych na 8051. Czy ktos może mi pomóc??
mnożenie liczba bitowy mnożenie liczba mnożenie liczba float
kanały satelitarne astra serwisowa megane odkurzacz dyson problemy
katalizator objawy uszkodzenia zatkany katalizator
Zmywarka nie otwiera się całkowicie po myciu - przyczyny i rozwiązania Mercedes Vito W639 A/C Fans Not Starting – Fuse, Relay, Sensor, SAM Faults