Cyz koś mogłby wyjaśnić pojęcie liczby zmienniprzecinkowej. Jakie są standardy ? Jak wykonać działania : "+" ; "-" ;"*" ; " / " czyli dodawanie, odejmowanie, mnożenie, dzielenie. Dzielenie nieotwarzające. Pozdrawiam.
Najprościej to taki układ potęgujący na jednym scalaku możesz zrobić na jednej pamięci EPROM. Możesz wtedy zrobić potęgowanie liczb więcej niż 4 bitowych. Taka pamięć kosztuje kilka złotych. Jeżeli weźmiesz zapis w kolejnych bajtach na zasadzie młodszy starszy to możesz zapisać np. tak: w adresach od 0 do 255 zapisujesz resztę z dzielenia kwadratu liczby...
A bo bascom to taki kaszaniasty trochę jest jeżeli chodzi o wydajność i dzielenie za pomocą '/' wykonuje jako zmiennoprzecinkowe, czyli obie liczby na zmiennoprzecinkowe zamienia, dzili i wynik zamienia na format docelowej wartośc (i tu chyba jest coś skopane). Natomiast dzielenie za pomocą '\' to dzielenie na liczbach całkowitych, o wiele szybsze.
Potrzebuję procedurę (napisaną w asemblerze na 8051) dzielenia liczby 6-bajtowej przez dwubajtową .Z góry Dzięki.
Ponieważ liczba jest mniejsza niż 16^2 ;=256 to będą dwie cyfry szesnastkowe. H1H0 H1=X DIV 16; H0=X mod 16; lub H0=X-H1*16; div - dzielenie całkowite mod - reszta z dzielenia uzyskane liczby z zakresu 0-15 kodujesz: od 0 do 9 -> cyfry od zero do dziewięć od 10 do 15 -> litery od A do F (A,B,C,D,E,F) czyli dla 184 H1=184 div 16=11 H0=184 mod 16=8...
Potrzebuje napisac program w asemblerze 8086 wykonujacy operacje dzielenia na liczbach 5 bajtowych w kodzie BCD. Wartość zero w starszych bitach pierwszego bajtu odpowiada znakowi plus, a wartość jeden odpowiada minusowi ( np. '0000000200'== 200, '1000000353' == -353). Dane wprowadzane z klawiatury (zawsze po 10 znaków). Wyjście z programu po odpowiedzi...
Nie, nie jest. DIV, to dzielenie liczb bez znaku, IDIV to dzielenie liczb ze znakiem.
Witam. Mam pytanie odnośnie sumatorów pełnych. Muszę za pomocą sumatorów jednobitowych zrealizować dzielenie liczb: 1/4. Jak się do tego zabrać?
Podziel program na następujące części: - ustawianie wartości początkowych dla zmiennych (poza tablicą dla wczytywanego słowa potrzeba utworzyć tablicę która będzie zawierała statystyki dla liter - trzeba ją wypełnić zerami; można zrobić bez niej, ale kod będzie trudniejszy do zrozumienia) - wczytanie wyrazu (użycie metody gets nie jest bezpieczne, np:...
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...
do Eagle : U mnie wartości zmiennych są identycznie w postaci binarnej. do Szymona Tarnowskiego : Odjęcie tych wartości nie jest równe 0 (a powinno), więc tak jak napisałeś podchodzi to pod ten problem standardowy. Wynikiem odejmowania jest: 2,71050543121376E-20 Pozostaje chyba tylko po prostu mieć to na uwadze podczas pisania kodu. Moje podsumowanie:...
Witam Potrzebuję podzielić przez siebie 2 liczby: pierwszą typu integer, drugą stałą i ma je zapisywać do integer. Mam błąd (jeśli zamiast licznika daje constant to działa) variable czesc_calkowita:integer; ... czesc_calkowita = licznik / 360; kod błędu: XST:769 operator <divide> must have constant operands or first operand must be the power...
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...
potrzebuje w asm 51' podzielic dwie jednobajtowe liczby, ale z dokładnoscią do 1 miejsca po przecinku!. jak to zrobić?. programowe polecenie DIV AB daje mi cześć całkowitą i RESZTE z dzielenia, myślałem żeby napisać program, który by dzielił w "słupku", ale może on niekiedy zajmować dużo czasu... i w ogóle mi sie nie podoba :P czy nie da sie odrazu...
Moze mi ktos wytlumaczyc jak napisac program do dzielenia liczb czterobajtowych przez dwubajtowe w asemblerze na at89c2051.
Dziś siedze całą noc nad tym jak wymyśleć algorym prostego dzielenia liczby 16bit przez liczbe 8bit ze wzracaniem reszty na procesor 8bit i szczeże mówiąc nic nie wymyśliłem.... Jedynym sensownym rozwiązaniem jest realizacja klasycznego sposobu dzielenia:( Moje pytanie brzmi... czy da sie jakoś inaczej zrealizować funkcje dzielenia?? np tak jak w mnożeniu...
Witam Mam mały problem, potrzebuje dzielić liczbę 16 bitową, a rejestry są 8 bitowe. Jak się do tego zabrać?
Witam !! zaczołem właśnie uczyć się programować w asemblerze i podcza pisania napotkałem na problem i nie umię go rozwiązać ?? pisałem programik dzielący 2 liczby wpisane 16 i wynik tez jest podawany szesnastkowo (nie można użyć .386) i program sie kompiluje nie ma błedów ale niestety cos nie działa ????? bardzo prosze o pomoc kompiluje za pomocą "tasm"...
Ma ktoś jakiś pomysł jak podzielić przez siebie dwie liczby w kodzie BCD? Tylko nie odejmowanie, bo to za długo trwa... Moje liczby są 8 cyfrowe. mj
Witam. Kto ma lub napisze procedurkę dzielenia dwóch liczb dwubajtowych - wynik u mnie będzie zawsze jeden bajt więc starszy bajt wyniku można pominąć... z góry dzięki. ps. ja znalazłem tylko dzielenie 6-cio bajtowych, 4, 3 itp..... a 2 niema :-(
Witam, Mam taki problem. Zastanawia mnie, dlaczego ten fragment kodu nie dziala poprawnie: unsigned char Line[17]; sprintf(Line, "%f", 234.0/212.0); LCD_Write(Line); Zwykle dzielenie floatow i wyswielenie ich na LCD [HD44780], za to wynik dziwny: na wyswietlaczu dostaje tylko jeden znak: '?' Pisze to pod ATMega8, wyswietlacz...
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!!! Proszę o umieszczenie kodu układu dzielenia dwóch liczb 8 bitowych w języku vhdl. Z góry dziękuję. Pozdrawiam!!
Wszedzie szukam i nie moge znalezc, potrzebuje pojdzielic liczbe 16 bitowa przez 8 bitową w asemblerze Ostatecznie moze byc nawet 8 bit przez 8 bit, bez reszty, choc z reszta tez moze byc. Robie miernik prękości obrotej z enkodera (4096 na obrót). Licznik 16 bitowy zlicza impulsy, potem co 1sekunde wyzwala sie przerwanie ktore podzieli liczbe zliczonych...
Mam problem z wykonaniem prostego dzielenia (tzn dla mnie trudnego) a mianowicie : (100/1,229) = wynik; potrzebuję fragmentu kodu w c który potrafi to obliczyć i wynik pokazać na wyświetlaczu : fragment mojego kodu : double wynik_adc; wynik_adc=((value-101)/(1,229)); lcdGoTo(20, 3); sprintf(text,"%e",wynik_adc ) ; lcdWriteString(text); ---------------------------------...
Interesuje mnie taka kwestia, czy są gotowe układy scalone (prawdopodobnie jezeli juz to z taktowaniem) ktore realizowaly by dzielenie 2 liczb binarnych, zalozmy 4 lub 8 lub iloś-bitowch ?
Witam. W projekcie, który robię (jęz. VHDL), muszę wykonać trochę działań arytmetycznych na liczbach integer, w tym operacje dzielenia. Przeglądałem forum (np. temat "Funkcja dzielenia modulo"), google, ale dalej sobie nie radzę. Zatem potrzebny mi jest blok wykonujący dzielenie liczb całkowitych, wystarczy, że będzie wyliczał sam iloraz, to co po przecinku,...
Witam! Mam pytanie odnośnie poniższego programu. Program realizuje dzielenie 16bitowe. Liczby są wprowadzane przez porty P1,P0(dzielna) i P3,P2(dzielnik).Wyniki natomiast zapisywane do komórek pamięci 30h,31h. Program działa poprawnie,lecz gdy wpisuje dzielnik 0 to program się przywiesza i juz dalej nie liczy. Czy ma ktoś może pomysł jak to zabezpieczyć...
witam, musze zrobic dzielenie 2 doubli, czyli musze podzielic dwie mantysy 52bitowe. Nie moge uzyc koprocesora, wiec pozostaja rejestry 32bitowe. Probowalem trzymac jedna mantyse w 2 rejesrach (eax, ebx) w jednej byly by 32 bity w drugiej 20. Z druga tak samo. Uzylem algorytmu dzielenia przez odejmowanie, pomijajac fakt, ze jeszcze nie dziala tak jak...
A czego się spodziewasz po dzieleniu liczb całkowitych? Algorytm działający na floatach jest dalece bardziej skomplikowany. Możesz się posiłkować mnożąc resztę z dzielenia przez stałą, np. 10, 100, 1000 itd i ponownie dzieląc, uzyskasz wtedy kolejne cyfry po przecinku. W ten sposób odkryjesz arytmetykę stałopozycyjną.
witam, powiedzcie mi dlaczego to nie działa: [syntax=c] float xx=1; float ee; ee=1/4; for(uint8_t i=0;i<10;i++) { xx+=ee; lcd(xx); _delay_ms(100); } [/syntax] a to działa: [syntax=c] float xx=1; float ee; ee=10/4; for(uint8_t i=0;i<10;i++) { xx+=(ee/10); lcd(xx); _delay_ms(100); } [/syntax] w każdej iteracji powinno zwiększać xx o 0.25. W pierwszym...
Witam. Od 2 semestru rozpoczęło się u mnie programowanie w asemblerze. Jestem kompletnie zielony, a muszę obliczyć takie równanie: X = (a+b)/c * (a-b)/d, gdzie a,b,c,d to dowolne liczby, a X jest różne od 0. Mój kompilator to TASM. Generalnie mam problem z tym, że gdy np. dzielę jakąś liczbę to wyskakują mi jakieś serduszka, strzałki itp. Napisałem...
Chcę wykonać taką sekwencję: 1. Odczytać wartość analogową 2. Podzielić wartość analogową przez 32000 3. Wynik z dzielenia pomnożyć przez 100 Konkretnie chodzi mi o punkt 2. W dokumentacji przeczytałem że istnieją bloczki do dzielenia z resztą i do dzielenia z wynikiem jako liczba całkowita. Dla przykładu została odczytana wartość analogowa 6000 to...
Witam, mam pewien problem z wykonaniem działania mnożenie a następnie dzielenia przez liczbę dziesiętną odczytaną z eepromu. Sam odczyt z eepromu jest poprawny, wyświetlałem dla testu odczytaną wartość na wyświetlaczu i się zgadza z tym co zapisałem przed ponownym uruchomieniem uC. Jak w programie zdefiniuje stałą (np 0.123) i przez nią podzielę jest...
Witam Muszę napisać w assemblerze 8086 program który podzieli 2 liczby double. Wiem że muszę odjąć cechy i to już zrobiłem. Problem jest z dzieleniem mantys, nie mam pojęcia jak to zrobić. Jedna mantysa ma 52 bit, więc muszę użyć przynajmniej 2 rejestrów. Podobno najlepiej zastosować metodę wielokrotnego odejmowania, ale jak to wykonać w praktyce? Byłbym...
Witam potrzebuje pomocy. Mialem napisac program na dzielenie dwoch liczb, wszystko poszlo ladnie program dziala tylko ze nie mam pojecia jak to zrobic zeby mozna bylo dzielic liczby typu 0.05x 0.4. Prosze was o pomoc, ponizej zamieszczam kod programu [syntax=pascal]program dzielenie2liczb; var a,b:integer; procedure jp; begin writeln('Dzielenie dwoch...
Witam, Mam 5 bajtową tablicę i muszę ją zamienić na wartość dziesiętną w formie tablicy gdzie każdy element to jedna liczba. I tu się zaczynają schody, przerobienie z uint8_t arr[5] na uint64 jest proste i bezbolesne. Ale zamiana uint64 na dziesiętną wartość w tablicy z pojedynczymi liczbami zajmuje ponad 7kb flash'a.... Docelowo chcę użyć m8 i już...
Mam problem z dzieleniem liczb ujemnych. [syntax=c] uint16_t temp; int stemp; stemp = (int)(temp/10); [/syntax] Do temp ładowana jest wartość pewnego przetwornika składana z dwóch bajtów, dlatego jest typu uint16_t. Jeżeli jest to wartość ujemna, czyli najstarszy bit jest ustawiony, to jeżeli nie dzielę przez 10, wszystko jest ok. np. jest to liczba...
Witam Szukam procedury dzielenia dużych liczb w asemblerze z wykorzystaniem przesunięć i obrotów. Ma ona tę cenna właściwość, że dzielnik może być większy niż w tradycyjnym dzieleniu poleceniem div. Na którejś grupie news podana była taka procedura, ale dawno i nie mogę znaleźć w archiwach. Z góry dziękuję za pomoc i pozdrawiam forumowiczów.
Witam. Próbuje od jakiegoś czasu pojąć dlaczego dzielenie dwóch liczb zwraca mi zero, jak w kalkulatorze zwraca mi to 0,20~ float test = 2518/12512; sprintf_s(buf, "%f", test); Gdzie wynikiem jest 0.0000
Witam, powoli kończę modernizację swojej nawijarki do cewek i transformatorów, licznik liczby zwojów postanowiłem wykonać na mikrokontrolerze jak w tytule PIC16F877A. Właściwie wszystko sprzętowo działa, za to utknąłem na końcu programu, otóż licznik może zliczać do 65535 zwojów, wszystko wyświetlam na wyświetlaczu 2x16. Mój problem związany jest z...
Cześć Napotkałem taki oto problem.[syntax=armasm]ldi R18,16 ldi R19,25 mul R18,R19 movw R16,R0 lsr R17 ror R16 lsr R17 ror R16 lsr R17 ror R16 brcc wynik Wynik: sts {Liczba} , R16 sts {Liczba+1} , R17[/syntax] W przypadku, gdy mnożna jest nie parzysta wynik jest zaniżany. Natomiast jeśli mnożna jest parzysta wynik jest prawidłowy. Co może być przyczyną...
Witam Czy ma ktos może gotową procedurę dzielenia liczb 24 bitowych przez 8 bitowe?? Z góry dzięki.
Witam. Czy ktoś mógłby mi odpowiedzieć na pytanie dotyczące tego czy podczas dzielenia dwóch liczb niezerowych następuje zaokrąglenie czy obcięcie?Ja stawiam na obcięcie.
Może troszkę więcej o tym opowiem: Otóż mówiąc "błąd" chodziło mi o błąd "windowsowski" z dostępnymi opcjami: debuguj, zakończ nie wysyłając raportu... o sygnaturze: AppName: zaprzyjaznione.exe AppVer: 0.0.0.0 ModName: zaprzyjaznione.exe ModVer: 0.0.0.0 Offset: 00001434 ale to jest i tak nie ważne, a przynajmniej tak mi się wydaje. Jeżeli chodzi o określanie...
Poszukuje gotowej procedury dzielenia liczby dwu bajtowej przez jedno bajtową napisaną w ASM. Czy widział może ktoś z Was gotowca?. 3z1 są ale 2z1 nie mogę znaleźć. Pozdrawiam.
Dziękuję ślicznie za szybką pomoc. Oba sposoby są świetne. W moim przypadku lepiej sprawdzi się dzielenie liczb całkowitych z operatorem [MOD], tak jak to podał Sp3ots. Bo otrzymuję gotowe dane do wyświetlaczy 7-seg jak i do LCD. Tak mi to wyszło - sprawdzone, działa - a nuż jakiś zielony jak ja wykorzysta. [syntax=vbnet]Dim F As Word ' pięciocyfrowa...
Na forum bylo juz o dzieleniu liczby 6-sio bajtowej przez 2-wu bajtową ElGregor zamieścił skrót do pdf'a, gdzie większość podst. działań jest zaimplementowana.
Tak ale niestety niewiem jak takie operacje robic. Np dzielenia liczby 24 bitowej przez 16 bitową
doube a=twoje równanie; cout<<a; To dalej będzie 4, w tym wypadku bo wcześniej wykonają się dzielenia liczb całkowitych i wszystkie dadzą wynik 0. kolego mAsHER , czy nie zauważył kolega drugiej części mojego poprzedniego postu ? Taki kod da już poprawny wynik: cout<<(3.0+(7./8))...
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ą....
Kłania się po prostu - najprostsza matematyka ;) masz np liczbę 123 i chcesz wyodrębnić poszczególne cyfry żeby je po kolei wrzucić na wyświetlacz LED 1. dzielisz liczbę 123 przez 100 - resztę z dzielenia odrzucasz i pozostanie ci cyfra odpowiedzialna za setki czyli 1 - prawda ? ;) 2. odejmujesz od liczby 123 liczbę 100 - bo wyżej już wykonywałeś dzielenie...
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...
Witam mam program, który dzieli dwie liczby i wypisuje je na wyświetlacz LCD. Problem polega na tym, że oprócz wyniku ma sie pojawic także reszta z dzielenia w formie R= LJMP START ORG100H START: LCALLLCD_CLR LCALL WAIT_KEY ;05 oczekiwanie na nacisniecie klawisza MOV R0,A ;06 przenosi zawartosc A do R0 LCALL WRITE_HEX ;07 wyświetla pierwsza cyfre MOV...
Bardzo proszę o pomoc, bo powoli zaczynam uczyć się programowania w C++ i nie wiem jaki popełniam błąd, że wyskakuje naruszenie ochrony pamięci. Chcę zbudować kalkulator, w którym wpisuję całe działanie i odczytuję potem z takiej linii tekstu liczby i działania. Na początek działaniami mogą być tylko dodawanie, odejmowanie, mnożenie i dzielenie. Pracuję...
Problem staje się prosty gdy możemy się posłużyć określeniem ogólnym "czas", jednak gdy mamy osobno minuty i godziny - jest inaczej. Procki nie operują na pojęciach ogólnych , tylko na liczbach i zapewniam Cię , że porównywanie liczb(nawet wielobajtowych) jest prostrze niż np. ich dzielenie. Więc może skupmy się jedynie na sposobie porównania dwóch...
Witam. Mam problem, ponieważ musze wykonać kalkulator liczb stałoprzecinkowych.. bez użycia programowania.. Czyli na jakichś sumatorach, ALU itd. badz innym nieznanym mi sposobem. Zakresu liczb jeszcze nie znam-niebawem się dowiem. Widziane operacje to dodawanie,odejmowanie,mnożenie,dzielenie... Moja wiedza póki co jest mizerna, więc będę bardzo wdzięczny...
Jak losowanie działa to teraz spróbuj zrobić okienko które będzie zaczytywać ile liczb ma generować (to "n" z zadania) Później wystarczy dodać dzielenie przez 3 i 4, jeżeli liczba całkowita to wpisujesz ją jak nie to wyrzucasz. Zrób sobie to na tablicach.
No ladnie. Sliczne procedurki. Twoja proc odnosnie dzielenia jest olbrzymia. Moja jest mniejsza. Moze by tak maly konkursik na procedurke dzielenia 16 bitowego w kilku kategoriach: szybkosci wykonywania, wielkosci kodu. dzielenie16_16: ;dzielenie 16 bitow przez 16 bitow ;we: r2 - H dzielna ; r3 - L dzielna ; r4 - H dzielnik ; r5 - L dzielnik...
Jak to co ? Dziel i szukaj podzielników. W czym problem bo nie wiem. Dzielisz przez wszystkie liczby całkowite mniejsze równe tej wylosowanej i już. Jak wynik dzielenia jest całkowity to wypisujesz i tak dalej.
...to zagadnienie bardziej językowe niż programistyczne. Sporo wyjątków, generalnie na ifach lub switchu, pomocna jest też reszta z dzielenia. Najpierw ułóż algorytm, a dopiero potem bierz się za jego implementację. Znów wychodzi to co zawsze powtarzam swoim studentom - nie chodzi o to, żeby nauczyć się języka programowania lecz o to by nauczyć się...
Witam. Mam takie zadanko: Napisz program, który tworzy tablice skonczonego rozmiaru (liczba podana przez uzytkownika), a nastepnie wypełnia ja wartosciami 0 lub 1, zaleznie od tego czy indeks komórki tablicy jest liczba pierwsza (1) czy nie jest (0). Nastepnie uzytkownik wpisujac liczbe sprawdza (korzystajac z przygotowanej tablicy) czy liczba jest...
Och, o formatowanie chodzi :) A ja tu z dzieleniem...
No więc tak: (zakładam liczby w kodzie NKB (tj. bez znaku)) - ponieważ mnożysz liczby 4 bitowe więc wynik może być 8 bitowy: 15*15=225 (11100001) z tego wniosek, że akumulator wyjściowy powinien być 8 bitowy (2 sumatory 4 bitowe, 2 rejestry 4 bitowe pamiętające wynik) Wyjście sumatorów podajesz na wejście powyższych rejestrów, Na jedne z wejść np a0,a1,a2,a3,a4,a5,a6,a7...
Tylko że jak pomnożę całość przez 10 to już nie zrobię tego na 8 bitach. Czy jak dziele 2 liczby inie dzielą się całkowicie to ustawiany jest jakiś bit lub kilka ? Poza tym nie mam zielonego pojęcia jak wyświetlić pojedynczą cyfrę na wyświetlaczy z jakiejś 3 cyfrowej liczby zapisanej w końcu w postaci hex. Zakres liczb przy podanym przeze mnie wzorze...
bez urazy, kolego olekewaagata, zanim zaczniesz kogoś pouczać przeczytaj tekst ze zrozumieniem! ;)) Autor wątku miał problem z propagowaniem przeniesienia - moja odpowiedź dotyczy DOKŁADNIE zalecenia, jaką instrukcją uwzględnia się przeniesienie. A podany przeze mnie przykład dotyczy sumowania, z jakim ma problem autor - czyli dokładnie liczby _16bit_...
Zauważ że funkcja zwraca ci wynik działań jako liczbę int, a ona nie przedstawia liczb zmiennoprzecinkowych. Zdeklaruj "wynik" jako float lub double Troszkę pozmieniałem twój kod i mi działa normalnie(porównaj sobie): #include <iostream> #include <conio.h> using namespace std; float dzialanie(float a,float b,int dzial);//1,1 int...
Pierwsze pytanie to w jakim zakresie może być wartość input? Cały uint32 czy może mniej np. 10, 15, 20, 25 bitów? 1. 125e6 możesz przecież skrócić do 125 bez jakiejkolwiek straty dokładności. Wtedy przód zmienia się w 2^32/1000000=4294,97 co dosyć dobrze można zaokrąglić do 4295. Ostatecznie formuła będzie 4295*input/125 i będzie działała o ile input...
Witam serdecznie, Mam problem. Znalazłem w sieci układ realizujący dzielenie (na stronie: ). Powinien działać dobrze ale okazuje się, że coś jest nie tak. Nie wiedziałem gdzie jest błąd i w amoku postanowiłem narysować sobie układ na kartce i przetestować na papierze co zwróci dla określonych danych wejściowych. Okazało się, że np. dla dzielenia liczby...
Program Konwertuj; {Program konwertuje wprowadzonĄ liczb© cakowitĄ na zapis sowny} uses crt; Var T1 : array [0..9] of string; T2 : array [0..9] of string; T3 : array [0..9] of string; T4 : array [0..9] of string; T5 : array [0..5] of string; Liczba : longint ; {Liczba wczytana do konwersji } Licznik : byte ; {Ile razy zostaa wykonana p©tla...
niewiem dokładnie jak to jest z procesorami programowalnymi w tem sposub ( jeszcze) W zwykłym asemblu robił bym to na podstawie kilku operacji arytmetyczno/logicznych pierwszą liczbe (jedności i dziesiątek) otrzymasz poprzez uruchomienia polecenia funkcjonującego jako modulo z argumentem 100 ( reszta z dzielenia przez 100) Drugą liczbę możesz otrzymać...
Jak w asemblerze (Pentium) uzyskać resztę z dzielenia liczby 64 bitowej przez 32 bitową, iloraz mnie nie interesuje. DIVL owszem działa, ale tylko wtedy gdy iloraz jest mniejszy niż 2^32 Asembler mojego kompilatora nie lubi DIV RAX. Nie dodałem, że liczba 64 bitowa jest iloczynem dwu 32 bitowych. Znak "%" to reszta z dzielenia (mod) Aby obliczyć: (a*b)...
a nie mówiłem...drugi zajmie jeszcze więcej :) Drugi pomysł używałem na Atmega16, lecz nie wywoływałem fprintf_P(); tylko kilka razy. Jeśli wiesz jak będzie wyglądał wynik tzn ile będzie miał miejsc po przecinku i w sumie ile cyfr to zawsze możesz użyć pomysłu kolegi: elektronik12z Możesz też bawić się w dzielenie, mnożenie, odejmowanie i modulo (czyli...
powiem wprost wiem, że to nie jest trudne dla mnie też wydaje się nie zbyt trudne, ale nie wiem od czego zacząć program najpierw robię w zwykłym programowaniu java, potem kopiuję i przerabiam program w programowanie w j2me, a na końcu przerabiam na programowanie android co do pytania 10, 30,70,80 są dwa sposoby 1. chce każdą liczbę w tablicy dzielić...
Witam, Mam taki problem - napisałem sobie procedury do obsługi wyświetlacza LCD, nie mogę tylko poradzić sobie z wyświetleniem na LCD zawartości rejestru (16 bitowy). Procesor ATmega 8. Próbowałem takie coś: void pisz_int(unsigned int t) { unsigned char bufor[20]; itoa(t,bufor,10); pisz_text(bufor); } ale nie...
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...
Witam Mam taki problem z programem na ATmega32. Mianowicie chcę przez uart wysyłać liczbę całkowitą ale tylko cyfry znaczące (bez zer poprzedzających). Napisałem taki kod, który działa i robi to co powinien ale myślę, że za dużo zajmuje. Czy jest jakiś łatwiejszy sposób na tą procedurę aby nie wysyłać zer wiodących? [code] [syntax=c] void USART_Transmit(unsigned...
A ja bym proponował napisać w jakimś języku programowania (do takich prostych rzeczy wygodne są języki skryptowe, jak Tcl, czy Python, bo np. C wymaga kompilowania programu, co jest dużą niedogodnością, jeśli program ma być często poprawiany) symulację działania takiego układu, i sprawdzić: działanie pojedynczego modułu "sumatora" (i wypisać jego tabelę...
Szkoda, że nikt (ze studentów) nie wpadł na to, że wystarczy jedna funkcja, by przedstawić wczytaną wartość w dowolnym systemie pozycyjnym. Chodziło tu o uzmysłowienie sobie ("odkrycie"), że wartość liczby nie jest trwale związana z jej reprezentacją i nie ma znaczenia to, jak liczba jest fizycznie reprezentowana w pamięci komputera. Dlatego było tak...
Może ja jeszcze od siebie dodam, to czego ja kiedys potrzebowałem by się do "zespolaków" przekonać: praktycznej ich pomocy przy analizie układów. Napewo wiesz, że indukcyjnosc i pojemnosci w obwodach z prądem zmiennym, spadki napięć na nich, są wyrażane jako odpowiednio rózniczka i całka prądu po czasie. Takie operacje na liczbach zespolonych przeprowadza...
Najlepiej będzie pozakać to na przykładzie: - zamiana liczby 2527,78125 (dec) na hex Cześć całkowitą 2527 dzielisz przez 16 (i zapisujesz reszty z dzielenia) tak długo aż otrzymasz wynik dzielenia równy zero: 2527 : 16 = 157 reszta 15 czyli F \uparrow 157 : 16 = 9 reszta 13 czyli D \uparrow 9 : 16 = 0 reszta 9 \uparrow Cześć ułamkową 0,78125 mnożysz...
problemem jest to iż kompilator nie wie na jakim typie zmiennej na wykonać modulo4 np.: uint8_t i=0; i = i-1; i %=4//daje 3 listing asm uint8_t i = 0; movb $0x0,-0x1(%rbp) i = (i-1); subb $0x1,-0x1(%rbp) i %= 4; andb $0x3,-0x1(%rbp) Wszystko czytelnie, tak samo jak: uint8_t i=0; i = uint8_t(i-1)%4;//daje 3 listing...
Witam, Proszę o pomoc w realizacji takiego założenia: 1000 / 4 = 250.00 -> flaga ustawiona na 0 1010 / 4 = 252,5 -> flaga ustawiona na 1 Za każdym razem jeśli wynik będzie po przecinku ma ustawić pewną flagę. Nie wiem czy istnieje jakiś rejestr w Atmegach informujący o wyniku dzielenia z resztą? Mam książeczkę o AVR ale nic o dzieleniu nie mogę znaleźć....
I nadal nie podałeś wyczerpującej odpowiedzi na podstawowe pytanie (i nie, w pierwszej wiadomości nie napisałeś nic konkretnego - tobie mogło się to wydawać jasne, ale nie zapominaj że nikt poza tobą nie ma pojęcia co dokładnie myślałeś; większość z nas nie ma - ani nie miała - też twoich wykładowców). A tu jest trochę rzeczy które trzeba sprawdzić......
Witam, Nie twierdzę że mój sposób sprawdzi się w Bascomie, dużo lepiej sprawdzi się asemblerze. Napisałem w Bascomie tak dla przykładu, myślę że tak jest przejrzyście, a chodzi po prostu o zasadę - sposób. AVR - serii Atmega to 8bitowce, więc tutaj w grę wchodziłoby tylko 8bit/8bit. Natomiast co ciekawe, AVR32 też nie ma dzielenia sprzętowego. Całkiem...
Witam, Mam pewien problem a mianowicie potrzebuję wyliczyć ile dana liczba mieści się w drugiej i resztę przekształcić na wynik w tym przypadku na jednostkę mb. 1) Dane: 10mb - długość tarasu 3mb - długość deski tarasowej 2) Wykonuję proste dzielenie: 10 / 3 = 3,333333 czyli wystąpiła dana liczba 3 razy (czyli 3 całe deski) 3) Pozostaje reszta z dzielenia...
Jest ok, ale chcę jeszcze uniknąć dwóch efektów: 1. Gdy wszystkie liczby są bardzo zbliżone (niewielkie średnie odchylenie) to za niedopasowaną można uznać liczbę z niewielkim choć większym od średniej odchyleniem. 2. Gdy wszystkie liczby w wierszu są małe to odchylenie nieakceptowalne może oznaczać niewielką różnicę (1 z 2 to już 50%, 1 ze 100 to...
Można to zrobić w prosty sposób wykorzystując resztę z dzielenia przez 10. Przykład: liczba i=123; chcemy cyfrę jedności to robimy i=i%10; (% oznacza resztę z dzielenia) chcemy cyfrę dziesiątek to robimy: i=(i/10)%10; i analogicznie cyfra setek to i=(i/100)%10;
Witam jestem początkującym w turbo pascalu mam problem z tym oto programem: code: program sprawdz_parzystosc; uses crt; var x:real; begin writeln('Podaj x:') read(x); if x mod 2=0 then begin Writeln('Liczba',x,' jest parzysta'); end else begin writeln('liczba',x,' nie jest parzysta'); end end. Kompilacja bez problemu,...
Hej mam problem , napisałem prosty kalkulator w c i mi źle liczy: przy dodawaniu odejmuje, odejmowanie dobrze liczy , przy mnożeniu zawsze wychodzi 0, przy dzieleniu zawsze wychodzi 1, nie mam pojęcia co jest grane, pomóżcie proszę A oto kod: #include<stdio.h> #include <stdlib.h> int main() { int a,b,c,znak; printf("podaj...
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.
problem polega na tym że nie mam pomysłu jak to matematycznie rozwiązać. Myślałem, żeby skorzystać z DPTR i robić dzielenie przez 16. Ale dzielenie wykonuje się na Acc. Rozpisywałem sobie 16 bitowa liczbę na kartce i nie mam pomysłu jakby podzielić ja na dwie 8 bitowe i zliczyć.
Korzystam z kodu zawartego na stronie: Niestety nie działa on poprawnie i nie potrafię ustalić dlaczego: 1.Dzielę liczbę 4999401(4C48E9 hex) przez 100(64 hex) powinienem otrzymać 49994(C34A) 2.Testy na symulatorze AVRStudio potwierdzają poprawne działanie funkcji w odpowiednich rejestrach(R18,R19,R20) po wykonaniu funkcji znajdują się poprawne wyniki....
jaki masz problem z dzieleniem Chcę uniknąć czasochłonnych procedur i tym bardziej zmiennych float. Nie zależy mi na części ułamkowej liczby. Zadowoli mnie wynik, przyjkładowo: 25789/10= 2578 (2578,9)
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ć.
Post był raportowany. Proszę o zmianę tytułu. Otrzymałem od jednego z kolegów taki urywek kodu: Kursor_gora: Call Modyfikuj_polbajt(pozycja_kursora , 1) Return Kursor_dol: Call Modyfikuj_polbajt(pozycja_kursora , &HFF) Return Sub Modyfikuj_polbajt(byval Polbajt As Byte , Byval Zmien As Byte) Local Hb As Byte , Lb As...
to jest niemal identycznie jak przy pisemnym dzieleniu liczb dziesiętnych. Musisz sobie tylko uświadomić np to że w 1000 liczba 110 mieści sie tylko 1 raz :) weźmy może prostszy (krótszy) przykład: 45/6=7,5 45d=101101b 6d=110b czyli 101101:110 Działanie wygląda tak: w czerwonej liczbie 1011 liczba 110 mieści się jeden raz (stąd czerwona jedynka na górze)...
Witam. W poniższym algorytmie jest gdzieś błąd. Polega on na tym że niektóre liczy źle się dzielą. Chodzi o algorytm 32-bit/16-bit = 32-bit i reszta 32-bit Np. liczba 450221 podzielona przez 20 daje prawidłowy wynik. Natomiast ta sama liczba podzielona przez 60 już nie :( Musi istnieć jakiś niewielki błąd w algorytmie. Na dzień dzisiejszy niestety go...
Witam. Czy ktoś z kolegów natknął się na procedury dzielenia dla AVR. Konkretnie chodzi mi o dzielenie liczby 24bit przez 16bit lub 32bit przez 16bit wynik liczba całkowita może być bez reszty no i warunek procedura nie może przekraczać 450cykli. Serdeczne dzięki za pomoc. Pozdrawiam Marek D.
Napisze dwa programy Dzielenie wspólne typy REAL L MW 50 // wartość 0-1000 ITD DTR // zmiana na real, najpierw do 32 bitów później dopiero na REAL L 6.250000e+001 // dzielnik /R RND - // zaokrąglenie w dół T LW 30 // zapis do formatu INT 1 program L 0 T QW 8 resetowanie QW 8 CALL FC 83 // biblioteki Standard / TI-S7 / SET bit logic - ustawia dowolną...