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 Masz dzielenie stałoprzecinkowe, bo argumenty są całkowite. [syntax=c]float test = 2518.0/12512.0; [/syntax]
Jak wpisujesz liczbę rzeczywistą musisz domyślnie użyć kropki . zamiast przecinka , w celu oddzielenia części dziesiętnej od całkowitej. Jeśli bardzo byś się uparła to możesz zastosować nagłówek locale z biblioteki standardowej, aby zmienić to zachowanie. Opis użycia znajdziesz w internecie.
Jest w Microwin (trzeba sobie ściągnąć) funkcja scale: [url=http://support.automation.siemens.c...
Masz mnożenie róznych liczb dalej sobie analizuj sam (literki przy zmiennych oznaczają ilość bitów): [syntax=c]z16 = x8 * y8; 98:80 91 00 01 ldsr24, 0x0100 9c:90 91 09 01 ldsr25, 0x0109 a0:89 9f mulr24, r25 a2:c0 01 movwr24, r0 a4:11 24 eorr1, r1 a6:90 93 13 01 sts0x0113, r25 aa:80 93 12 01 sts0x0112, r24 z32 = x16 * y16; ae:20 91 0a 01 ldsr18, 0x010A...
Z treści wynika, że chcesz to opędzić DIV AB to 99/98 daje wynik A=1 B=1 a nie B=102 (reszta ale nie podzielona przez 98 Zakładamy,że liczby nie przekraczają 99 to metoda DIV daje w A prawidłową część całkowitą Teraz reszta - pomnóż reszta*2 L=reszta*2 -podziel mianownik /50 M=M/50 ..dlaczego:?::D A=L B=M DIV AB wynik w A setne części nie wiem czy będzie...
Proszę bardzo, dzielenie 2bajtowe : DIV16_16: ;R4-AHigh R5-ALow (dzielna A) ;R6-BH R7-BL (dzielnik B) ;wynik A/B to: A-czesc calkowita B-reszta ;R4-High R5-Low - czesc calkowita ;R6-High R7-Low - reszta ; ;wykorzystywane są: 00h, 01h, 02h, 03h (R0, R1, R2, R3 in Bank0) ;wymienione obszary powinny być wyzerowane przed...
zmień ee=1/4; ee=1.0/4.0;
Nie wiem, co dzieje się z Twoim komputerem, ale u mnie wyniki są całkiem poprawne. http://obrazki.elektroda.pl/9373254200_1... Jeżeli wynik wychodzi ci zero, to znaczy, że najprawdopodobniej nie podajesz poprawnie 'znaku' działania i żadne z obliczeń nie są wykonywane. Kolejną strawą, jest formatowanie wyniku. Jedno co powinieneś zmienić,...
Ja bym powiedział, że potrzebujesz zmienić program na nieużywający liczb zmiennoprzecinkowych... a już dzielenia na tych liczbach w ogóle:>
poprawny zapis to: ((50.0/3.0*X - 100)*X + 850.0/3.0)*X - 200 tzw. schemat Hornera, minimalna liczba mnożeń w języku C, 50/3 równa się 16, dzielenie liczb całkowitych traktowane jest jako całkowitoliczbowe
Przecież ten układ nie ma FPU, więc flagi kompilacji są zupełnie bezsensowne... Wystarczy samo -mcpu, -march jest zbędne. Flaga "-nodefaultlibs" dla linkera też jest dziwnym pomysłem, biorąc pod uwagę fakt, że w tych "default libs" jest pewnie nawet dzielenie liczb całkowitych.
Oczywicie tę stronę znasz? http://www.8052.com/ http://www.8052.com/codelib.phtml
Wyniki pośrednie powinny być poprawnymi liczbami całkowitymi. Tutaj 1/36 prawdopodobnie będzie zamienione na 0 (dzielenie liczb całkowitych) i całość wyniesie 0. Zamień tą definicję na: #define KHZ2MS(x) (1000/(x))
Ewentualnie, jeżeli interesuje nas określona i niewielka ilość miejsc po przecinku, skalowanie: int dzielna, dzielnik; int wynik_skalowany; wynik_skalowany = 100 * dzielna / dzielnik; printf("wynik dzielenia wynosi %d.%02d\n", wynik_skalowany / 100, wynik_skalowany % 100); Przykład powyżej dla 2 miejsc po przecinku. Czasem się przydaje...
Może nie najładniej to rozrysowałem - [url=http://forum.dzyszla.aplus.pl/topic... dzielenia liczb wielobajtowych z wykorzystaniem odejmowania
Nie wiem w jakim srodowisku piszesz ale np. w Keilu dla 51 tez taki zapis nie przynioslby skutku, gdyz funkcja sprintf jest typu non-reentrant . Musisz zmienic zapis na: unsigned char Line[17]; float result; result=234.0/212.0 sprintf(Line, "%f", result); LCD_Write(Line); Powinno zadzialac. Pozdrawiam BF
Na poczatku tu respekcic ze po zawodowie zajmujesz sie takimi rzeczami, ja sie nimi zajmowalem na studiach. Dzielenie liczb zespolonych to bardziej skomplikowana, postac a+bi, jest niestety nierozerwalana i dzielenie jest błędna, ale bez dodatkowych wywodów, które możesz znalżc w ksiązkach wzory powinny wygladac nastepujaca: przy zalozeniu ze dzielenie...
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 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: http://obrazki.elektroda.net/56_11731924... w czerwonej liczbie 1011 liczba 110 mieści...
Napisałem niezbyt precyzyjnie, a winno być: potrzebny mi jest blok wykonujący dzielenie liczb całkowitych, wystarczy, że będzie wyliczał sam iloraz, to co po przecinku czy też reszta z dzielenia nie są ważne. Zatem chodzi mi o DIV. Co do złej składni - to kompilator kompiluje mi to bez problemów i sama symulacja funkcjonalna pokazuje, że działa to poprawnie,...
No dobrze ale jakim rozkazem mam zamaskować te znaki ?
Skorzystaj z tego wzoru (dzielenie liczb zespolonych): http://obrazki.elektroda.pl/7457477600_1... gdzie: z1 = 1+0j z2=0,1-0,1j z tego widzimy że: φ1 = 0° φ2=-45° na końcowym etapie obliczeń pomnóż licznik i mianownik przez 10 (tzw mnożenie ułamka przez 1 w celu uproszczenia) i w mianowniku wciąg 10 pod pierwiastek (pod pierwiastkiem...
W takiej notacji, że każda cyfra jest w osobnej komórce tablicy, problemem jest obsługa wartości ujemnych. Najłatwiej jest operować na kodzie uzupełnienia do dwóch. Wtedy wyliczanie przeniesienia nie jest skomplikowane. Tutaj możesz zastosować algorytm pisemnego odejmowania, przy czym najniższe cyfry trzymać pod niskimi indeksami, aby można było działania...
Może to cię naprowadzi na metodę operowania na dużych liczbach całkowitych (DEV-C++4.9.9) : #include <iostream> #include <string> using namespace std; int main() { int l1,k=0, i, l2,j,p; char s_num1[110], s_num2[110], s_ans[111]; int tens=0, ones, ans; cout<<"Podaj pierwsza liczba : ";...
[syntax=c] stemp = (int)temp/10; [/syntax] Albert
;DZIELENIE LICZB 4 BAJTOWYCH R9..6 PRZEZ R5..2 ;WYNIK W R9..6 SDZIELI LD R16,0 LD R17,0 LD R18HL,R16HL LD R20,4*8+1 JR DZ46 DZ410 ROL R16 ROL R17 ROL R18 ROL R19 CPC R16,R2 CPC R17,R3 CPC R18,R4 CPC R19,R5 JC DZ46 SUB R16,R2 SBC R17,R3 SBC R18,R4 SBC R19,R5 DZ46 ROL R6 ROL R7 ROL R8 ROL R9 DEC R20 JNZ DZ410 COM R6 COM R7 COM R8 COM R9 RET
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ą...
Tak, dzieli się tak jak liczby zespolone. Przecież liczba rzeczywista (twoje 230) może być traktowana jak liczba zespolona z zerową częścią urojoną. Pozdrawiam wszystkich jjanek
Witam wszystkich! Mam taki problem, mam napisac projekt (pewnie prosty dla wiekszosci) w assemblerze badz w C, temat " Dzielenie liczb 16 bitowych ze znakiem w kodzie U2" i dlatego zwracam sie z prosba czy ktos ma moze napisany (przez przypadek) taki program, albo pomoze mi w jakikolwiek sposob go zrealizowac. Program ma dzialac na procesorze 8051,...
a nie ma czegos takiego jak div ?? nie napisales o jaki procek chodzi ale chyba we wszystkich jest dzielenie w 51 div A,B dzieli A/B i wynik daje w A a reszte w B.
Nie, nie jest. DIV, to dzielenie liczb bez znaku, IDIV to dzielenie liczb ze znakiem.
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 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 :).
dziel FFFFFFFFFFFFF000 przez 00000AAAAAAAAAA - ucierpi nieco dokładność, ale jest to do wykonania na 64 bitach ALU. Wynik przesuń o 6 w prawo (otrzymasz 6 miejsc binarnych po przecinku, oczywiście przesunięcia dokonujesz modyfikując cechę wyniku). Generalnie dzielenie np liczb 32 bitowych na FPU odbywa się w rzeczywistości z wykorzystaniem 96 bitów,...
Niestety, nie ma jednostek ALU potrafiących bezpośrednio dzielić. Można skorzystać z kombinacji kilku ALU, ale chyba najwygodniej użyć jakiegoś małego mikrokontrolera, np. 89c4051...
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))...
sposobów jest multum. wszystkie z wymienionych przez ciebie operacji są bardzo dobrze opisane na praktycznie każdej stronie zajmującej się układami programowalnymi. te zagadnienia możesz szukać na stronach uczelnianych (typowe zagadanienie akademickie :)) ze swej strony polecam zajżeć w to [url=http://www.csee.umbc.edu/help/VHDL/...
Spróbuj po prostu nazwać zakres i podzielić sumę przez ilość liczb: =SUMA(zakres_nazwa)/ILE.LICZB... lub =SUMA(G22;G33;G44)/ILE.LICZB(...
poniżej załączam kod który, dzieli sekwencyjnie dwie liczby w kodzie NB. Przerobienie tego na układ dzielący liczby w kodzie U2 nie powinno być problemem. Kod "parametryzuje" długości dzielnika i dzielnej za pomocą generic LENGTH. pozdrawiam library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity sequentialDivider is generic( LENGTH...
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...
rozumiem- wtedy mi się przecinek jakby o jeden w prawo. zamaist 16,6 bedzie 166. a zamiast 255,5 ile bedzie...? dzielenia liczb 16bitowych tym bardziej nie umiem, pozatym musi to być procedurka szybka i zajmujaca mało miejsca... (w tym wypadku mam ograniczone możliwosći - ok 150bajtów)
procedure TForm1.Button4Click(Sender: TObject); var x:Real; y,z:Real; begin x:=strtoint(edit1.text); y:=strtoint(edit2.text); z:=x/y; edit3.text:=floattostr(x)+'/... end; Problem leżał w typach zmiennych. Nie można dzielić za pomocą / liczb całkowitych....
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ę...
Wg mnie to jakaś patologia, nie ma co dawać poprawnego fragmentu kodu bo i tak nikt nie potrafi poprawnie go wstawić we własny kod! [syntax=javascript]<script type="text/javascript"> function sprawdz() { var liczba = document.forms['formularz'].liczba.value... if(!(liczba%10)) alert("liczba jest podzielna przez 10"); else alert("liczba nie jest...
Witam. Gdzie znajdę gotowe procedury w asemblerze dla pic 16f84 np. mnożenie,dzielenie liczb 32-bitowych itp.
Tu są procedury matematyczne dla '51: http://www.8052.com/codelib/math8051.asm Dzielenie 32 bitowych przez 16 bitowe bez znaku, to procedura UDIV32, a ze znakiem DIV32. Pozdrawiam.
program dzielnie; {$APPTYPE CONSOLE} uses SysUtils; var liczba: integer; begin readln(integer); while true do begin if liczba >= 2 and liczba <= 18 then writeln(integer / 0,85) else writeln('zla liczba'); end; end. dawno nie pisalem nic pascalopodobnego ale powinno byc jakos tak. Nie testowalem i nie wiem...
Tu masz dzielenie liczb czterobajtowych przez dwu bajtowe (16 bit).Co prawda nie moje opracowanie, podaję w orginale. ;procedura dzielenia 4-BAJTOWYCH liczb przez 2-BAJTOWE ; wejscie: ;r0 - adres najstarszego bajtu dzielnej, ;r1 - adres najstarszego bajtu dzielnika, ; wyjscie: ;R0 - adres ilorazu ;R6:R5 - reszta ;W deklaracji zmiennych programu wykorzystujacego...
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),...
30 A? Że char i bool to rozumiem że nie, ale dzielenie liczb całkowitych nie musi być liczbą całkowitą, 4/3 = 1.(3) więc skąd int?! 29 ok, bo nazwa tablicy wskazuje na adres.
Do dzielenia liczb w asemblerze bez znaku służy komenda div lub idiv . Formaty DIV reg DIV mem Dzielna musi być w AX lub DX:AX lub EDX:EAX. Dla AX wynik jest w AL a reszta w AH (operandy 8bit) Dla DX:AX wynik w AX reszta DX (operandy 16 bit) Dla EDX:EAX wynik w EAX reszta w EDX (operandy 32 bit) Do dzielenia ze znakiem służy idiv Jak chcesz się bawić...
Sposób który pierwszy narzuca się aby liczbę przedstawić w postaci tekstu to znaleźć ilość jednostek, dziesiątek, setek, tysięcy, itd... w danej liczbie (dzieląc przez 1000,100,10). Następnie te znaki pozostaje już tylko "przesunąć" do znaków ASCII, a wiec dodać 0x30. Dla przykładu mamy liczbę 123, liczba setek: 1, liczba dziesiątek 2, liczba jednostek...
W szkole uczą dzielenia ręcznego ... W jakiej szkole uczą dzielenia z wykorzystaniem przesunięć i obrotów? to na prawdę proste i sam dojdziesz do odpowiedniego algorytmu. Mam nadzieję, że Ty już doszedłeś i podasz kawałek kodu. Przypominam, że chodzi o dzielenie dużych liczb (wielokrotnej precyzji) i możliwości użycia dzielnika większego niż dostępny...
1. Ustawiasz w arkuszu układ danych, tak aby jak najlepiej pasował ci do wyliczeń 2. Określasz i deklarujesz typy zmiennych - jeśli będziesz je wykorzystywać 3. Zliczasz ilość komórek z danymi (liczby) 4. Dla średniej arytmetycznej wykonujesz dodawanie liczb, a następnie podział sumy przez ilość komórek z danymi (liczby) 5. Dla średniej kwadratowej...
super ekstra przybliżenia nie uzyskasz nie mając liczb zmiennoprzecinkowych ale mają DINT (32bity) można zrobić dzielenie pierwsze co to otrzymaną ilość spalonego paliwa zakładając że jest to X litrów mnożysz X przez potęgę 10, potęgę trzeba dobrać tak aby po pomnożeniu nie przekroczyła limitu dla DINT ja zrobiłem np 15x1 000 000 następnie dzielimy...
Da się. Robisz sobie na kolumnie C = MOD(WIERSZ()-1;6)+1 Na kolumnie B analogicznie, ale co szósty, zatem dzielisz dodakowo: =MOD(LICZBA.CAŁK((WIERSZ()-1)/6);6)+1 I w analogiczny sposób kolumna A, ale wiersz co 36 (6*6) i dzielisz modulo już przez 3 Potem wystarczy połączyć A*100 + B*10 + C. To najbardziej czysto matematyczna metoda.
Cóż, najprościej wyświetlić hex'a. Jak chcesz bcd to te rozwiązanie wydaje się ok http://ece.wpi.edu/~xhuang/index files/courses/example5-bin2bcd.pdf link wygasł :( Ewentualnie możesz spróbować klasycznie, czyli wykorzystać dzielenie liczb całkowitych i dzielic wtedy przez 10, aby otrzymać dziesiątki. Zaś resztę z dzielenia wziąść jako jedności.
Zrób rzutowanie dzielonych liczb na floaty.
Witam, Schemat układu jest niekompletny, brakuje kwarcu taktującego. Z programu wywnioskowałem, że jest to Xtal 12MHz. Długość trwania procedury obsługi przerwania od Timer0 wraz z preambułą nie musi być dokładnie równa 10 cyklom maszynowym (#3CBA). To wniesie pewien błąd pomiarowy odmierzania czasu, przeciętnie około 10 mikrosekund. I na koniec sprawa...
Nie moja funkcja - znaleziona gdzies kiedys w necie kiedy piców uzywałem. Ale działała Dodano po 1 Przypomniało mi sie gdzie ja znalazlem - na stronie piclist
Opis edytora Graftec po polsku http://www.sabur.com.pl/upload/saia_burg... Liczenie średniej to czynnośc sekwencyjna: Albo dodajesz do siebie 30 liczb i na końcu dzielisz przez 30 albo Srednia=Σ (xi/30) dla i=1 to 30
Ten układ nie ma żadnego "DSP engine" - po prostu ma kilka mądrzejszych instrukcji które przydają się w obliczeniach - zasadniczo MAC i dzielenie (w tym dzielenie liczb stałoprzecinkowych I1Q15). O ile dzielenie kompilator zwykle wykorzysta, to już MAC czy liczb stałoprzecinkowych raczej niezbyt... Jeśli zaś Twój kod wykonuje się 30us (900 cykli), to...
Dziękuję za podpowiedzi. Mało precyzyjnie się wyraziłem, ale i tak wiedzieliście o co mi chodzi. Wprowadziłem małą poprawkę w swoim początkowym pytaniu. Tak chodzi o przedstawienie tych działań na liczbach stałoprzecinkowych w kodach znak-moduł (ZM) oraz uzupełnienie do dwóch (U2).Oczywiście oddzielne działania wykonuje dla ZM jak i dla U2 nie łącze...
Nie wiem co ten program robi, ale na pewno nie to, co ma w komentarzach. Z definicji liczby zaprzyjaźnione to para liczb - a Twój program sprawdza jedną liczbę? Edit: ok, już widzę jak to ma działać - sprawdzasz czy dana liczba ma liczbę zaprzyjaźnioną. Całe to dzielenie liczb zmiennoprzecinkowych... Nie wystarczy: if (a % b == 0) /* jeśli a...
ok, ale dlaczego aż trzy bajty?. Dzielenie liczb jednobajtowych da wynik w postaci jednego bajta. Ewentualnie 4bity (no.. powiedzmy cały bajt żeby nie k ą plikować) na reszte z dzielenia co w znacznym stopniu podniesie dokładność obliczeń. Jeśli był byś w stanie poszperać za informacją jak poprzes ó wać wynik, top byłbym wdzięczny
Możesz spróbować w ten sposób : program sumatrujek; {$APPTYPE CONSOLE} uses SysUtils; var a,b,c:integer; {**************************} function Czy_Liczba_pierwsza( x: integer) : boolean; var idx,licznik : integer; begin if (x=0) or (x=1) then {sprawdzamy czy podana liczba to 1 lub 0}...
Witam. Poszukuję schematów bramek logicznych realizujących mnożenie i dzielenie liczb 4bitowych. Próbuję zbudować procesor w programie [url=http://ozark.hendrix.edu/~burch/log... i brakuje mi tych 2 funkcji w podstawomym ALU. Później być może zrobię FPU albo w ogóle zmienię architekturę na 8bit ale chciałbym najpierw zobaczyć jak wygląda układ...
Witam Czy ma ktos może gotową procedurę dzielenia liczb 24 bitowych przez 8 bitowe?? Z góry dzięki.
Proszę bardzo wyjaśnienie poniższych tematów: 1) Jak zamienić liczbe ułamkową na U2 [również daną w postaci zmiennoprzecinkowej] 2) Jak odczytywać liczbe zmiennoprzecinkową? 2) Jak wykonać działanie mnożenia na liczbaczh zmiennoprzecinkowych [z użyciem i bez użycia rozszeżeń] 3) Jak wykonuje się pierwiestkowanie liczb zmiennoprzecinkowych. 4) Jak wykonać...
#include <iostream> #include <conio.h> using namespace std; int dzialanie(int a,int b,int dzial);//1,1 float dzalanie (float a,float b,float dzial);//1/2 int main(){ int a,b; int dzial; //float(1/2) -operator dzielenia // double lub float cout <<endl<<"Podaj 2 liczby(liczba(np.1)[Ente...
Aby zamienić na dowolny system dzielisz liczbę przez podstawę nowego systemu i spisujesz reszty od końca. np 123(10) 123:16= 7 * 16 + 11 7:16 = 0 + 7 11 to B więc wynik 7B
Dziel liczbę przez 10 i zapisuj do tablicy reszty z dzielenia.
Cena nie zmienia się ponieważ dzielenie wykonujesz na liczbach całkowitych, a zatem i wynik wyrażenia w nawiasie tez jest liczbą całkowitą! Chcąc być poprawny pownieneś mnożyć przez 0.01 albo dzielić przez liczbę zmiennoprzecinkową czyli 100.0 void Towar::potrac_opust (int rabat) { Towar::cena-=cena*(rabat/100...
Dim T1 As Single Dim T2 As Single A co to? "Przesunięcia bitowe" na liczbach zmiennoprzecinkowych? Zamień single na int i powinno śmigać. Procedury obliczeńna liczbach zmiennoprzecinkowych pożerają mnóstwo miejsca. Dzielenie liczb całkowitych w bascomie AVR robi się za pomocą \, a nie /, ot taka ciekawostka. Użycie / powoduje wykonanie tego dzielenia...
czepiacie się: drugi program jaki napisałem w życiu, i już nawet nie można sie pochwalic. gdy to pisałem i kompilowałem, to mi nie wyskoczyły błędy, to tak zostawiłem. A to z prawami autorskimi to bardziej żart był, mimo że itak prawda jest. tom_85; JIIIS: gratuluję nauczenia się sarkazmu. Gdzie, na Wikipedii przeczytaliście o tym? Dodano po 3 podoba...
Najprościej: 1. mnożysz float *10, powstaje np zmienna "liczba"; 2. następnie "liczba" dzielisz przez 10 - masz zmienną "całe"; 3. na "liczba" wykonujesz dzielenie modulo 10 i masz ulamek. W przypadku całkowitych można też od razu rzutować na int, tak jak pisał kolega wyżej. Poskładać to do kupy z kropka pomiędzy za pomocą itoa() i już.
Np. dać zmienną logiczną warunkującą poprawność wyniku, która będzie ustawiana po drugim odczycie. Dzięki, dodałem tę zmienną. Jakbym mógł to uprościć, bo to jest dzielenie liczb zmiennoprzecinkowych i na pewno długo to CPU oblicza czy nic nie ruszać ? [syntax=c]czas = ( float ) nowy_czas / 1000; // z [ms] na [s] predkosc = ( float ) droga / ( float...
przekształciłem wzory do postaci w których występują liczby 2 do n-tej - czyli w asemblerze bez problemu (przesuwam w prawo lub w lewo i to mi dzieli lub mnoży x2). nie wiem jak mi to jeszcze wyjdzie (bo ze wzoru mam tam liczby 2do20) bo symulacje sobie przeprowadze jutro-kiedyś już coś podobnego robiłem i chodziło (tyle że na dużo mniejszych liczbach)...
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...
while (liczba=0); {wynik=liczba%syste; liczba=liczba/syste; cout<<"wynik wynosi"<<wynik<<endl;... ten fragment nie robi tego co zakładasz, że powinien robić ;), a dokładnie to zawsze wynik będzie wynosił resztę z dzielenie liczby przez system np 12%5=2 oraz 22%5=2, co raczej chyba nie było twoim celem ;)
Różnicę widać przy przesuwaniu rejestru w prawo (przy dzieleniu przez 2^n). LSHIFT przesunie wynik o zadane przesunięcie i z lewej wrzuci zawsze 0, ASHIFT sprawdzi najstarszy bit (bit znaku w U2) i w uzupełni od lewej rejestr jego zawartością. Chcesz poprawnie dzielić liczby ujemne przez 2^n - używaj ASHIFT.
Przy dzielenie przez dwa tracisz jeden bit znaczący stąd taki sam wynik otrzymasz przy liczbei x parzystej i niepraszystej na przykład dla x=10 i x=9 (10-3)/2=3 (9-3)/2=3
Jednak pomysł pisania "lepszych" wersji funkcji z math.h jest bez sensu - jedyne na czym zaoszczędzi taki "recznie" napisany cosinus to dokładność - znaczną większość kodu takich funkcji i tak stanowią operacje typu mnożenie / dzielenie liczb zmiennoprzecinkowych. Uwierz mi, że jest czasem taka potrzeba (; Zaoszczędziłem dużo cykli, dzięki temu na...
Chodzi o to, że komputer musi zapisać liczbę dziesiętną w pewnej skończonej liczbie zer i jedynek, co nie zawsze jest możliwe, więc występują zaokrąglenia. Przy mnożeniu i dzieleniu tak zaokrąglonych liczb tracisz coraz więcej precyzji, stąd rozbieżności. Poprawcie mnie, jeżeli się mylę :) Edit: Co do pytania o zmienną: Twoje b wynosi czasem na przykład...
Witam Wykonuje urządzenie pomiarowe które mierzy mi prędkość obrotową szpuli o niskiej prędkości obrotowej w zakresie 0,1 - 2obr/ s a więc bardzo wolno. Na wale zamontowany jest czujnik pola magnetycznego (kontaktronowy), który raz na obrót generuje mi przerwanie na AVR. Problem polega na tym że wyznaczenie prędkości obrotowej ma się odbyć co impuls...
Najprościej sprawdzisz to na papierze. Jednej cyfrze h odpowiadają cztery cyfry w kodzie b. Dzieląc liczbę b na grupy czterocyfrowe od prawej do lewej przeliczasz je na cyfry h. F -> 1111 E -> 1110 1 -> 0001 0 -> 0000 Pozdrawiam.
zapisze to matematycznie w postaci "bajtowej" gdzie jedna wielka litera to jeden bajt a 0 to jeden bajt tylko że równy zero X,Y / Z,A = 0W (wynik) + 0R (reszta) teraz reszta mnozona razy 256 czyli 0R * 256 = R0 R0 / Z,A = 0V i ostateczny wynik to W,V teraz lepiej to zapisałem ??? hehe
ponieważ 51 nie ma sprzętowego dzielenia liczb 16 bitowych więc kolega musi poszukać sobie algorytmu do dzielenia takowych liczb i ten algorytm sobie zaimplementować prosta sprawa jeśli nie uda się znaleźć to ja udostępnie ale uprzedzam jest po angielsku jak zresztą cała współczesna elektronikia (no poza drobnymi wyjątkami) :D
tu jest więcej matematyki niz programowania. Nie napisze Ci programu, bo za to ludzie biorą ciężkie pieniądze:), ale posłuchaj: weź dowolną liczbę a; dziel ja kolejno przez liczbę n należacą do zbioru liczb naturalnych (1,a), i za każdym razem badaj resztę z dzielenia. Jesli reszta jest równa zero to znaczy że liczba jest podzielna przez daną, a wtedy...
x/y jest obliczane na liczbach typu integer, a wynik "obcinany", stąd Twoje problemy. Spróbuj tak: int n = (x*256+255)/y; Nie jest to dokładnie to samo ;) ale za to nie używasz liczb zmiennoprzecinkowych. Alternatywnie przed dzieleniem konwertuj x na float. Pozdrawiam, Dr.Vee
to mi wyglada jak zwykly pascal, nie uzywaj w nim polskich liter, "then to" na "then", zamiast / powinno byc DIV bo dzielisz liczby calkowite i repeat nie mialo until Program kalkulator; Var liczba1:integer; liczba2:integer; chr:char; decyzja:integer; Procedure DODAWANIE; Begin WriteLn('Podaj dwie liczby'); ReadLn(liczba1,liczba2);...
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...
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ć?
Witam. Reszta z dzielenia ("%") określona tylko dla liczb całkowitych (tzw. dzielenie modulo). Pozdrawiam.
Daj sobie spokuj z dzieleniem liczb 16bitowych w 8 bitowym procesorze, bo jeśli nie chce Ci się zrozumieć tego banalnego algorytmu zamiany na BCD to na pewno nie będzie Ci się chciało przekopać przez algorytm dzielenia liczb dwa razy dłuższych niż procesor ;) Algorytm jest bardzo prosty, przesuwasz w lewo a to co odpada wrzucasz do jednostek, robisz...
Dzielisz liczbę przez 100, masz setki. Dzielisz przez 10, masz dziesiątki ;-) Jeśli będziesz operował na byte to powinien zaokrąglić. Dim A As Byte Dim A100 As Byte Dim A10 As Byte Dim X As Byte 'zmienna pomocnicza A = 235 A100 = A / 100 X = A100 * 100 A = A - X A10 = A / 10 X = A10 * 10 A = A - X
Witam, mam napisać deterministyczną maszynę Turinga, która policzy mi resztę z dzielenia liczb binarnych. Jest ktoś w stanie pomóc mi przy tam zadaniu? pozdrawiam
Zwykła banalna pętla for. zakres od 1 do wylosowanej liczby. W pętli dzielisz przez liczbę z pętli for i sprawdzasz czy wynik jest całkowity jak tak to wypisujesz i tyle. Banał.
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...
napisz w języku C funkcję, która dzieli dwie liczby zmiennoprzecinkowe mające długość do tysiąca cyfr w zapisie dziesiętnym Zadanie to przekracza możliwości języka C i zwykłych typów zmiennych, które nie są w stanie pomieścić tak dużych liczb zmiennoprzecinkowych. Aby rozwiązać ten problem, należy skorzystać z bibliotek matematycznych, takich jak GMP...
dzielenie liczb ujemnych dzielenie dużych liczb dzielenie liczb asemblerze
pralka amica wyświetlać błąd ciśnienie r407c pralka moduł sterujący
skrzynia schemat skrzynia schemat
Jak podłączyć falownik do płyty SSK-MB2 - krok po kroku Zawór napełniający stuka przy zamykaniu dopływu wody