Musze napisać program w 6800 w którym będę dzielić liczbę BCD przez 2. Czy zna ktoś algorytm tej oracji??
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
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)
(at)ElektrodaBot Czy fo variance = variance / (n - 1) jest prawidłowe? Dlaczego dzielimy przez n-1 a nie przez n?
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...
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),...
Swego czasu w EP był kurs asemblera i tam pośród różnych innych procedur w asembelerze były procedury dzielenia wielobajtowego. Nie ma wprawdzie 16 przez 16 ale są inne DZIE3216.ASM DZIEL328.ASM http://www.ep.com.pl/pobierz.php?id=65 W końcu liczba 2 bajtowa to tez liczba 4bajtowa z dwoma bajtami równymi "0x00" Pozdrawiam ------- tutaj strona z pozostaBymi...
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.
>> _greis_ Była o tym wcześniej mowa. Jest to najbardziej standardowy pomiar f, ale ma tą wadę że dla niskich f trzeba stosować długie czasy pomiaru. >Przemekdz Niekoniecznie trzeba stosować real/float. Przy nowych założeniach f wzorcowa 10 khz f mierzona 1-100Hz Dla 1 Hz zliczymy 10000 impulsów, dla 50hz 2000 impulsów, dla 99.9hz 1001 impulsów....
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...
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...
Chodzi mi o algorytm dzielenia liczby 14bitowej zapisanej dziesiętnie na dwie liczby 8 bitowe zapisane dziesiętnie. np.liczbie 8148 odpowiadają dwie 31 i 212. liczbie 8276 odpowiada 32 i 84. nie chodzi o konkretny język programisty tylko o algorytm. resztą zajmę się sam. dzięki.
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...
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...
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...
No, to już można stwierdzić, że to nie jest CRC z wielomianu w arytmetyce modulo 2 - jak wziąłem wszystkie dane, i przeliczyłem, to na końcu było: 00000006 => 1502 (5DE) 00000005 => 0173 (0AD) 00000004 => 1895 (767) 00000003 => 1865 (749) 00000002 => 1831 (727) 00000001 => 1716 (6B4) Gdyby to było takie CRC z wartością początkową, to exclusive-or (operator...
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...
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...
[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...
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
Zrób rzutowanie dzielonych liczb na floaty.
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.
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...
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...
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 .
[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...
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...
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...
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)??
Dzieki za podpowiedź, a co z liczbami typu int albo long int? Zabawa z przesuwaniem i przeniesieniem ?
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...
Ma kolega algorytmy do tych obliczeń? Przełożyć algorytm na wybrany język to już nie problem. Przykładowo do sumy, w uproszczeniu (piszę w uproszczeniu bo to będzie proste gdy wynik/n jest równy co najmniej 1) wystarczy algorytm który wynik podzieli przez n. Zakładam, że zaraz kolega napisze, że to muszą być liczby całkowite, wtedy wystarczy sprawdzić...
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ć...
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...
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
Dodawanie szostek tez zadziala, ale czym rozni się ono od dzielenia przez 10 ? Czy chodzi moze o wyzszosc symbolu " + " nad symbolem " * " ?? Jeśli chodzi o wyższość * nad + to nie duża różnica, szczególnie w Atmega gdzie jest szybkie sprzetowe mnożenie. Ale już miedzy dodawaniem a dzieleniem które nie jest sprzętowe to jest zazwyczaj spora różnica...
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 /
Jakos nikt nie wspomnial, a moze nie zauwazylem o jeszcze innej metodzie zamiany z HEX na DEC. Polega on na dzieleniu liczby przez 10d (0Ah). Reszta z wyniku to nasza wartosc jednosci. Czesc calkowita znowu dzielimy przez 10, i reszta to dziesiatki. potem setki. Tak 5 razy i juz mamy rezultat. A gdyby nadal kogos interesowalo dzielenie 16 bitow przez...
Dodać należy, że próbki muszą być pobierane w trakcie trwania jednego okresu sygnału lub całkowitej jego wielokrotności. W tym drugim wypadku trzeba dzielić przez k*N, gdzie k to liczba okresów, zaś N liczba próbek na okres. Przy odpowiednio przemyślanym algorytmie można to zrobić nawet na AVR. Naturalnie warto ustawić bit ADLAR (chyba tak on się nazywa)...
Tak jeszcze patrząc na dzieło autora to zastanawiam się czy coś tu jednak nie jest trochę przewymiarowane, czy nie można było tego zrobić bardziej optymalnie, redukując ilość użytych układów. Bo tak porównując pierwsze, elektroniczne kalkulatory czterodziałaniowe, zbudowane "raptem" z kilkuset tranzystorów i diod (bez żadnego układu scalonego) to czy...
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...
Musisz wynik podzielić przez 1000. Algorytmy dzielenia można znaleźć na stronie www.atmel.com w notach aplikacyjnych.
Ogólnie algorytm jest taki: (*) 1) bierzesz resztę z dzielenia przez 10 2) dodajesz do niej numer znaku '0' w kodzie ascii (41 czy coś) 3) dzielisz liczbę przez 10 4) wracasz do (*) i tak otrzymujesz kolejne cyfry dziesiętne. Potrzeba jeszcze optymalizacji dla danego procesora.
Witam. Wiele jest algorytmów dzielenia. Jednym z nich jest zastosowanie odejmowania. 1. A- 64 bitowa liczba; B - 32 bitowa liczba 2. A:=A-B; 3. Jeżeli A>=B wróć do punktu 2 jeśli nie to idź dalej. 4. W A jest reszta z dzielenia. P.S. jeśli byś chciał wynik dzielenia to musisz zliczac ile było odejmowań.
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...
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.
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):...
Najprostrzy algorytm polega na dzieleniu przez 10 i braniu reszty z dzielenia jako kolejne cyfry od najmłodszej do najstarszej. Jak będziesz chciał coś szybszego to trzeba będzie troche pogłówkować.
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...
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...
Można to robić, ale chyba tylko w celach poznawczych. Tak naprawdę w programie i programowaniu szkoda na to czasu - tym może sie zająć kompilator a nam pozostaje wymyślić ładnie zapisywalny w kilku liniach algorytm (mówię o C). Mimo wszystko nie uważam, że asembler jest bezużyteczny - jest bardzo potrzebny, ale raczej do innych celów.
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...
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 :).
ZM to raczej Znak Moduł. Więc te liczby mnożymy/dzielimy tak jak zwykłe liczby 3-bajtowe, jedyna różnica polega na tym, iż najstarsze bity z każdej liczby nie wchodzą do działania a są ze sobą "xorowane". Jeśli chodzi o sformalizowane algorytmy to znjadziesz je np. w "Metody i układy arytmetyki komputerowej" autorstwa Janusza Biernata. A poza tym obadaj...
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...
Każde zadanie ma wiele rozwiązań, najtrudniej wybrać to o które chodzi. Reszta z dzielenia przez 10 to ostania cyfra dziesiętna. Taki algorytm może działać poprawnie, ale inaczej niż wynika z treści, masz chyba porównywać zgodnie z definicją od najstarszej. Najprościej to zamienić liczbę na string i przeanalizować cyfry jak zechcesz. Zadanie staje się...
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,...
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 trzeba rzeczywiście zabierać jedynki od wyższych komórek. Algorytm powinien wyglądać mniej więcej tak (pseudokod): // wejściowa pożyczka b <- 0 for(i: wszystkie sensowne wartości) (res[i], b) <- sub( left[i], right[i], b ); tak też jest w algorytmie pisemnym: liczymy najniższą pozycję, otrzymujemy...
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...
ja też polecę porogramowanie na PC, bo może znasz składnie języka C ale totalnie nie umiesz pisać najprostszych algorytmów, a jak wiadomo programowanie polega na pisaniu algorytmów a nie zabawie typu kopiuj/wklej algorytm zamiany liczby dziesiętnej na kolejne kody ASCI wygląda tak: dopóki (liczba!=0) { dodaj do tablicy char resztę z dzielenia przez...
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...
Witam Procesor jest obojetny. Algorytm zawsze będzie taki sam. Zmieni się tylko kod w zależności od procesora. Algorytm zamiany z BCD na NKB: 1. Zerujemy zmienną wynikową 2. Dodajemy do zmiennej wynikowej najstarszą cyfrę BCD 3. Jeżeli mamy jeszcze cyfry to mnożymy wynik razy 10 i powtarzamy punkt 2 (tylko już następną w koleii cyfrą) np. Mając liczbę...
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...
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.
mam pytanie do tego algorytmu, bo nie moge jednej rzeczy dla niego wymyśleć... co zobić, żeby prawidłowo robił bin2bcd ale liczby 16 bitowej dla której 4 lub 8 ostatnich bitów jest traktowane jako liczby po przecinku... przecież nie bede tego robić tak jak jest a potem dzielić tej liczby bcd przez 16 albo 256, bo wtedy traci to sens, żeby nie dzielić...
Witam! ad 1) Jeśli dobrze zrozumiałem, to najlepiej w wierszu z instrukcją losującą podzielić modulo przez liczbę większą od 16 (zauważ, że 4 * 4 = 16, a tam wystepuje dzielenie modulo przez 14. W przeciwnym wypadku problem jest głębszy gdyż trzeba rozwiązać "problem ośmiu hetmanów" opisany w książce "Algorytmy + dane = programy" autorstwa N. Wirth...
Tu pojawia sie moje pytanie, czy istnieje mozliwosc przekonwertowanie liczby binarnej na np. dziesietnej bez pomocy funkcji dodatkowych, czy idzie to zrobic np. przez printf?! Czy moze musze do kazdej konwersji zapisywac oddzielny algorytm. Jak najlepiej ugryzc to zadanie! Nie da się tego zrobić przez printf. Algorytm jest jeden, zmienia się tylko...
O ile dobrze pamiętam bascom na 2 rodzaje operacji dzielenia jedno w wyniku daje liczbę całkowita 2 liczbę rzeczywistą. Poza tym wykorzystanie dzielenia to przesada, lepiej i szybciej jest wykonać 4-krotne przesunięcie w prawo, które jest równoważne podzieleniu przez 16. AVR nie ma instrukcji dzielenia wobec tego wykorzystujesz skomplikowany algorytm....
1. Dzielisz liczbę BCD na grupy 4-bitowe zaczynając od LSB. 2. Każdą grupę zamieniasz na cyfrę DEC. 3. Tworzysz z tego liczbę DEC. 4. Zamieniasz liczbę DEC na BIN. Pozdrawiam wszystkich jjanek
Najprościej będzie na przykładzie: Masz liczbę 1234, dzielisz ją przez 1000 i otrzymujesz liczbę tysięcy czyli 1, następnie dzielisz 1234 modulo, czyli 1234 mod 1000 i otrzymujesz 234, z którego wyłuskujesz liczbę setek itd.... Mając poszczególne cyfry zamienisz je na asci przez dodanie do każdej wartości 48 (pozycja 48 w tablicy acsi to liczba 0, 49...
Głównie chodzi mi o jakiś pomysł na algorytm, mój zupełnie niepotrzebnie operuje na dużych liczbach a wynikowy klucz jest krótki... JavaScriptu nie znam, miałem spore problemy z odczytywaniem kodów ASCII znaków czy wykonaniem dzielenia całkowitego ale jakoś się doszukałem potrzebnych poleceń, więc myślę, że powinienem sobie poradzić z realizacją dowolnego...
Nie da się zrobić (po przesunięciu) sumy logicznej z czterema jedynkami na najstarszych pozycjach? Można tak zrobić i chyba tak zrobię tylko wcześniej muszę sprawdzić czy liczba była ujemna. Autora nie chciałbym spotkać na drodze (pisze lewo, przesuwa w prawo ;-) ) Albert faktycznie, miało być w prawo A że się tak zapytam czy przypadkiem nie chodzi...
Nie będe się powtarzał co to jest enkapsulacja - pppoe i czym się różni od pppoa, ponieważ to już było :) http://www.elektroda.pl/rtvforum/topic18... QoS Type - sposób kolejkowania pakietów UBR DSL Modulation zostaw na multimode, sam się dostosuje do parametrów łącza, ( tu jest rodzaj multipleksowania w zależności od anexu, u ciebie jest to anex...
Natomiast Paweł Es., fatazjując - prawie jak zwykle - powypisywał co wiedział na około tego tematu, ale nie zrozumiał (albo nie chciał zrozumieć) celu tego banalnie prostego zadania... Jako Dyżurny Fantasta Forumowy proszę by może kolega nas uświadomił co było celem tego "banalnie prostego" zadania (nie ma jak banalnie proste układy mające w szczycie...
W sumie to nawiasy nie bolą. Lepiej dać za dużo niz za malo Właśnie bolą, bo w takim właśnie wyrażeniu z jakim mamy tu do czynienia - x * y / z - wykonanym na liczbach całkowitych w języku C wstawienie nawiasów wokół dzielenia zwykle zmniejsza dokładność wyniku. 5 * 4 / 3 = 6, natomiast 5 * (4 / 3) = 5, wynik idealny to 6,6(6). 5 * 3 / 4 = 3, natomiast...
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.
Napisałem dla Ciebie taki oto program w asm dla procesorów klasy pc :) ; tasm plik.asm ; tlink plik.obj .model tiny .stack 100h .code Start: ; problem Euklidesa - NWD ; int dx; ; while(bx != 0 ) ; { ; dx = bx; ; bx = ax % bx ; ; ax = dx ; ; } ; ; return ax; ;****** ALGORYTM ***** xor ax,ax xor bx,bx mov al,28 ;8bitowe liczby -...
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...
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...
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...
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...
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ą....
Witam. Polecenie: Napisz program przesyłający do rejestru AX resztę z dzielenia liczby naturalnej znajdującej się w rejestrze BX przez liczbę dodatnią znajdującą się w rejestrze CX. Zastosuj metodę wielokrotnego odejmowania. Jak na moje można tak: [syntax=asm] MOV ax, bx petla: cmp ax, cx JNL label JMP koniec label: SUB ax,cx...
arnoldziq, jeśli program ma operować na teoretycznie nieskończonych liczbach, to użycie tablic statycznych odpada. Co nie zmienia faktu, że algorytm pozostaje ten sam, choć nie jest on specjalnie złożonym. BTW - operacji wcale nie trzeba przeprowadzać w systemie dziesiętnym, lecz z powodzeniem można wykorzystać BCD lub nawet system dwustupiędziesięciopiątkowy.
Przykład algorytmu: na wygenerowanej liczbie wykonujesz działania matematyczne takie, aby liczba wynikowa miała zawsze przynajmniej 6 cyfr np. mnożysz ją przez 3, dodajesz 123 i odejmujesz 1. Po wykonaniu tych działań sprawdzasz, czy liczba jest większa niż 999999, jeżeli tak to dzielisz ją przez 10 bez reszty i znowu sprawdzasz, czy jest większa niż...
Już kiedyś pisałem tutaj o konwersji bin->bcd. Są na to specjalne algorytmy. Ponieważ nigdy mi się nie chce ich szukać, konwersję przeprowadzam metodą łopatologiczną: 1. Odejmuję od zadanej liczby 1000 tyle razy, aż uzyskam wynik ujemny. Liczba odejmowań (pomniejszona o jeden) daje cyfrę tysięcy. 2. Koryguję liczbę po odejmowaniu (dodając z powrotem...
dla eqalizera stosujesz filtry pasmowoprzepustowe. typowo zaczyna sie od 1khz i mnozy [w gore], lub dzieli [w dol] czestotliwosci kolejnych pasm przez ta sama liczbe. a liczba ta zalezy od pozadanej ilosci pasm. typowo [nawet jest na to jakas norma iso ;] stosuje sie odstepy pomiedzy czestotliwosciami 1 oktawa, czyli od 1khz w gore bedzie 2 khz, 4 khz,...
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 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,...
Pierwszy silnik jest sterowany innej maszyny, A jak jest zadawana prędkość? Sprawdź. Podłączenie się tam będzie najlepszym i najprostszym rozwiązaniem. Odnośnie uśredniania - nie miałem do czynienia z softem do Omronów, ale algorytm jest prosty - do tablicy wczytujesz po kolei serię pomierzonych prędkości (np. 5 czy 10). Później sumujesz je ze sobą...
Fajny pomysł. Uwagi: - Zastanawiałeś się może nad zaimplementowaniem jakiejś szybszej wersji sin/cos? (na przykład statyczna tablica 45 wartości dla 0-45 stopni i potem na przykład odpowiednie odwracanie i interpolacja liniowa dla kątów pomiędzy pełnymi stopniami) - przydało by się wystąpienia *3.14/180 zmienić na *PI180, gdzie PI180 to już policzona...
Algorytm? 1. Wczytujesz pytania listy dynamicznej cyklicznej 2. Losujesz ilość kroków wybierając w ten sposób pytanie 3. Przedstawiasz je użytkownikowi i sprawdzasz poprawność jego odpowiedzi. 4. Usuwasz to pytanie z listy. 5. Jeśli lista nie pusta - wróć do 2. 6. Dzielisz liczbę odpowiedzi poprawnych /20 mnożysz przez 100 i wyświetlasz procentowy wynik.
Witam Przeczytałem wszystkie posty. I teraz tak, szyfrując znanym algorytmem narażamy się na to iż algorytm jest znany a więc można wyliczyć matematyczną złożoność i będzie ona wiadoma i będzie liczbą skończoną! To odnośnie tych najlepszych algorytmów AES itp. Co do XOR to sprawa jest jeszcze prostsza bo komputer który będzie chciał odszyfrować wie,...
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,...
:arrow: marcinj12 Nie to, żebym upierał się jak osioł przy swoim ale w tym przypadku wynik integer jest jak najbardziej trafiony. Wynik - owszem, będzie liczbami typu integer, więc tablicy liczba , która jak przypuszczam zawiera wynik, się nie czepiam :) w końcu liczba monet czy banknotów nie może być ułamkiem... Jednak chcąc wykonać dzielenie na liczbach...
excray - absolutnie nie pojmuję tego :-) Zbyt dużo kombinacji. mirekk - "zmniejszyć procentowo" to i ja wiem. Problem w tym jak to zrealizować programowo bez użycia ułamków i dzielenia przez dziwne liczby (upierdliwość w AVR). Kolorów idealnych nie będzie na PWM 8-bitowym ale niech chociaż będzie ta gradacja jakoś działająca. janbernat - to już robota...
Czy mógłbym prosić o opis algorytmu działania programu? Po co Kolega stosuje tak wielką tablicę (11 bitów), wiem że w języku C wielkość liczby nie ma specjalnego znaczenia - można zawsze wybrać inny typ zmiennej - jednak przekłada się to na długość wykonywania rozkazów, szczególnie dzielenia. Według mnie w falowniku 256 wartości funkcji to aż za dużo...
Zajrzyj jeszcze raz na przykład, bo mam wrażenie, że się uniosłeś się dumą i nie postarałeś się go nawet zrozumieć. check_result to obsługa gotowego liczbowego wyniku, która zależy od tego co chcesz zrobić. Nie jest to część algorytmu. U Ciebie z resztą nie ma tego w ogóle. read_key to tylko implementacja odczytu z klawiatury. Nieistotne dla algorytmu....
algorytm dzielenie dzielenie liczba dzielenie algorytm
plazma panasonic naprawa zapis pliku excel sterowniki compaq 6720s
lutownica lutola lutownica lutola
Zasada działania świateł w Mercedesie Viano W639 Bashan 200 nie odpala po wymianie instalacji i czyszczeniu gaźnika