[syntax=c] stemp = (int)temp/10; [/syntax] Albert
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
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/...
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...
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...
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
Wynik wychodzi 4, bo to jest 4. Dzielisz liczby całkowite. 7/8 = 0 1/2 = 0 1/4 = 0 7.0/8.0 = 0.875 7.0/8 = 0.875 7/8.0 = 0.875 7./8 = 0.875
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
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.
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ł.
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.
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...
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 ;)
Nie zawsze można ręcznie dodawać ".0", jeśli chciałbyś dzielić zmienne typu int trzeba rzutować i w sumie wystarczy tylko jeden czynnik typu float drugi domyślnie się zrzutuje [syntax=cpp] int a=2518; int b=12512; //w stylu c float test = float(a)/b; //poprawnie ;) float test2=static_cast<float>(a)/b; [/syntax]
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...
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...
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
Kto szuka http://www.piclist.com/techref/microchip...
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ż.
Żaden kłopot. Jeśli chodzi o zera, to najprościej wyłączyć wyświetlanie w opcjach: http://obrazki.elektroda.pl/6240352000_1... W komórkach G34:G40 zrób podobnie jak w G41 =JEŻELI(SUMA(G2;G10;G18;G26)...
Jeśli dzielisz 2 liczby całkowite to kompilator z góry zakłada, że wynik również będzie liczbą całkowitą. Nie ma na to wpływu, że przypisujesz tą wartość do zmiennej typu float. Sprawdź sobie sam wynik działania:"1/11". A teraz dopisz "f" na końcu każdej liczby w Twoim dzieleniu - w ten sposób informujesz, że są to liczby typu float i będzie to uwzględnione...
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...
Błąd powstaje gdy iloraz przekroczy dopuszczalną ilość bitów. W dzieleniu N-bitowym, iloraz musi się zmieścić w N-bitach (pamiętając, że dzielimy liczbę 2N-bitową przez N-bitową). Przykładowo dzielenie 16-bitowe (dx:ax) [syntax=asm]mov dx,0xFFFF ; dzielimy 0xFFFFFFFF mov ax,dx mov cx,1 ; przez 1 div cx;First chance exception: Address 0x0040190C Integer...
Witam. Skoro tak to zastosuj układ CD40194. Pozdrawiam.
Jeżeli masz suwmiarkę to średnicę zmierzysz bez problemu. Skok gwintu dla większej dokładności mierzysz pomiędzy kilkoma wierzchołkami i dzielisz przez liczbę zwojów (wierzchołków).
ale czy to na pewno są komendy do mikrokontrolera, jak na razie przegladnołem kilka książek i takich nie znalazłem (chodzi konkretnie o mikrokontroler ATMELa) A gdzie kolega napisał że to ma być mikrokontroler? Podane rozwiązania są do procesora x86.
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...
Była impreza rozumiem I to w najbardziej nieludzkim formacie - wyjście firmowe :-) Przed chwila napisałem, że nie chcę iść na gotowe, Wystarczy mi, jeśli ktoś przedstawi mi wskazówki jak rozwiązać problem. Przesuwasz 2 razy w prawo, dodajesz 1 i uzyskany wynik jeszcze raz przesuwasz w prawo. W ten sposób uzyskujesz zaokrąglenie przy dzieleniu przez...
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
Jest w Microwin (trzeba sobie ściągnąć) funkcja scale: [url=http://support.automation.siemens.c...
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;
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);...
witam mam takie dosc głupie pytanie ale musze je zadac: cry: bo jest mi to potrzebne jak zamienic liczbe z systemu dziesiętnego na system binarny dwujkowy?? szukalem w necie ale te instrukcje są troche nie jasne i nie potrafie tego zakumac :cry::cry: bardzo prosze o pomoc:] "Ręcznie": Dzielisz liczbę przez 2, jeżeli zostaje reszta to wpisujesz 1, jedeżeli...
:) Komenda mod to taka reszta z dzielenia czyli: zmienna = liczba mod 4 zmienna - miejsce gdzie zostanie wpisana reszta z dzielenia liczba - zmienna która jest dzielona przez 4 (w miejsce 4 możesz wstawić inną liczbę lub zmienna) Dodatkowo w Bascomie są dwa rodzaje dzielenia znak / i \ pierwszy (/) używamy do dzielenia z resztą (w przypadku zmiennej...
200 x 720 i wychodzi liczba taktów na minutę. Dzielisz wynik przez 60 i masz liczbę taktów na sekundę, czyli częstotliwość.
Operacje matematyczne i zapisywanie do postaci szesnastkowej. Sensu kodu nie jestem w stanie stwierdzić poza tym, że jest lekko bez sensu... Dzielenie przez liczby i obcinanie części ułamkowej to przecież nic innego jak przesunięcie w prawo. Zaś mnożenie przez 2 to w lewo. To wszystko zmieszane też z przesunięciami. Na koniec brane ostatnie 8 bajtów...
#include <stdio.h> main() { int n; float sum=0; for(n=1;1/(n*(n+1))>0.0001;++n) sum+=1/(n*(n+1)); printf("Result: %f\n",sum); system("PAUSE"); } Grunt to dobry debugger ;) Mając takowy, sama byś doszła co jest nie tak. W tym kodzie zadeklarowałaś zmienną n jako integer. Robiąc operacje dzielenia (w pętli i sumie), oba argumenty (dzielna i...
Musze napisać program w 6800 w którym będę dzielić liczbę BCD przez 2. Czy zna ktoś algorytm tej oracji??
mod to nie funkcja tylko działanie matematyczne takie jak "+" czy "-" wynikiem mod jest reszta z dzielenie pierwszej liczby prze drógą np x= 10 mod 3 - wynikiem będzie 1 x= 11 mod 3 - wynikiem będzie 2 x= 12 mod 3 - wynikiem będzie 0 x= 13 mod 3 - wynikiem będize 1 mod jest opisane w pomocy w zakładce "Language Fundamentals" pozdrawiam
Porównaj liczbę żłobków wirnika i liczbę lamelek komutatora. Teraz podziel liczbę lamelek przez liczbę żłobków. Będziesz wiedział ile jest odczepów na jednej cewce.Musisz też zobaczyć jakie jest przesunięcie między lamelkami wirnika a cewką. Dokładnie prześledź drogę drutu z lamelki do cewki i będziesz wiedział prawie wszystko. Później możesz odciąć...
Najpierw poczytaj co to są liczby stałoprzecinkowe i zmiennoprzecinkowe. Takie dzielenie jak tu zostało zaprezentowane jest na liczbach stałoprzecinkowych. W takim przypadku to ty decydujesz gdzie będzie przecinek i czy w ogóle będzie. Po za tym powtórzę się za kol koodpl : po co takie rzeczy rzeźbić w asm?
Dzielenie przez liczbę inną niż wielokrotność 2 też jest łatwe - trzeba liczyć zarówno stany wysokie jak i niskie. No dzielenie to ogólnie w ogóle nie jest problemem. Nie, jeszcze 162 i 64 ma po dwa 16-bitowe Widocznie przeoczyłem. karlos79: Co do synchronizacji to chodziło mi o to czy musi być 100%-owa zgodność częstotliwości wejściowej i wyjściowej*mnożnik....
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ć,...
To nie żaden problem. To zwykłe dzielenie stałoprzecinkowe. Jeśli operandami dzielenia są liczby całkowite, to wynik też jest liczbą całkowitą. Jesli chcesz wynik po przecinku, to musisz albo zrzutować któryś z operandów na liczbę rzeczywistą, albo dokonać jego zapisu jako liczbę rzeczywistą (np: 2.0). Zauważ, że w C, w odróżnieniu od Pascala, nie ma...
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...
Kod w obrazkach to jest beeee. Oczywiście wiesz, jak skutkuje dzielenie w liczbach całkowitych?
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
To jaki problem byłby z nią skoro, mogę bez problemu odczytywać wartość? Na oko żaden, ale na tej samej zasadzie: Co działania na liczbach mogą mieć wspólnego eeprom skoro możesz bez problemu odczytać wartość? Jednym słowem zebrałeś zbyt mało danych, aby sensownie przedstawić problem. Uprość więc program do minimalnego ale kompletnego przypadku, gdzie...
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))
Możesz pomnożyć resztę przez 1000 a następnie znowu podzielić to przez dzielnik. 1 x 1000 = 1000 1000/16 = 62.5 Czyli otrzymasz 62 i 8 reszty. Można by pomnożyć przez 10000 uzyskując na koniec wynik 625 ale wtedy dzielenie przez większe liczby nie będzie działało bo reszta będzie duża i pomnożona przez 10000 nie zmieści się w 16-tu bitach.
Ja bym powiedział, że potrzebujesz zmienić program na nieużywający liczb zmiennoprzecinkowych... a już dzielenia na tych liczbach w ogóle:>
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...
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...
każdą liczbę z tablicy dzielę przez poszukiwaną liczbę, jeśli dzieli się bez reszty to do sumy dopisuję 1 Nie lepiej sprawdzać, czy dany element tablicy jest równy szukanej liczbie? [syntax=cpp]if ((tab[i]) == K)[/syntax] Sprawdź operację 4 mod 2 to dowiesz się, dlaczego twoja wersja programu nie będzie działać tak jak chcesz. Poza tym masz błąd przy...
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):...
Jeśli mamy np. liczbę 124 dzielimy ją modulo 10 czyli mamy 124 mod 10 = 4. Następnie uzyskujemy część całkowitą z dzielenia przez 10 czyli 124 div 10 = 12. Teraz dzielimy 12 mod 10 = 2 i uzyskujemy cześć całkowita 12 div 10 = 1. Niestety nie mam excela więc funkcje uzyskiwania części całkowitej i reszty z dzielenia musisz sam znaleźć
jak zamaskować? anl a,#7Fh w a masz najstarszy bajt liczby
Witam Kod podany przez Łuk_F będzie działał tylko w przypadku liczb całkowitych: byte, word, integer, itd. Operatory mod muszą być typu całkowitego. Jeśli chcesz sprawdzić liczbę rzeczywistą to tak: if (frac(c)) <> 0 then Write ('Liczba NIECALKOWITA') else if (trunc(c) mod 2)=0 then writeln('parzysta')...
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)
No to jak rozkminiacie różne programy to ja Wam dam procedurkę dzielenia przez 10 liczby 32 bitowej ponad 2 razy szybszą niż dzielenie [syntax=c]int32_t div10(int32_t number) { int64_t magic = 0x1999999A; return (int32_t) ((magic * number) >> 32); }[/syntax] Możesz sobie łatwo przerobić na dzielenie przez 100 1000 czy cokolwiek innego, lub inną długość...
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ą...
float zmienna = 3.14159246; std::cout.precision(5); std::.cout.setf(0,ios:... std::cout << zmienna << std::endl; Krashan7 : Pytanie było o C++ a nie ansi C to po pierwsze. Po drugie nie uzyskasz takim dzieleniem żadnej liczby z przecinkiem bo wynik jest typu int i kompilator...
Potrzebuję procedurę (napisaną w asemblerze na 8051) dzielenia liczby 6-bajtowej przez dwubajtową .Z góry Dzięki.
Akurat nie o zmienne globalne chodzi... Chodzi o to że podając stałą do tych funkcji zostanie ona przeliczona na etapie kompilacji na ilość... napiszemy tików. Jeżeli natomiast podjesz zmienną do funkcji opóźnienia to niestety ale może ona z założenia może się zmienić w trakcie pracy programu i wtedy uC musi na żywo obliczyć ilość tych ticków. A jak...
Witam Wracam do sprawy kwarca łopatologicznie, najprostszy dzielnik częstotliwości dzieli przez 2, dokładając następny na jego wyjście mamy podział przez 4, dokładając następny mamy podział przez 8...... dokładając piętnasty mamy podział przez 32768. Jeśli na wejściu damy kwarc 32768 to po 15 dzielnikach mamy impulsy sekundowe. Drugim z typowych kwarców...
Jak chcesz policzyć średnią moc, to dodajesz wyniki pomiaru mocy i sumę dzielisz przez liczbę pomiarów. A zużycie energii to średnia moc razy czas.
>> _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....
nie pytajcie się mnie o jakieś szczegóły 0. Załatwione :) Ja nie będę pytał. 1. Nie liczenie wcale nie nastąpi. 2. Nie, O będzie miało stale wartość 0. 3. Daje to tyle, że wynik będzie z sufitu. A teraz kilka słów wyjaśnienia: Ad.1. W funkcji main, masz pętlę opartą o while(1). Ta pętla zostanie przerwana tylko brakiem zasilania. Program nigdy nie...
tylko i wyłącznie dzielenie i odejmowanie. Czyli [0]=liczba/100 (stałoprzecinkowe - pascal - div) [1]=liczba/10-[0]*100 itd. oczywiście do wykonania w pętli.
Każdy bajt liczby dzielisz dokładnie w połowie - otrzymujesz dwie czterobitowe połówki, których wartość używasz jako indeks w tablicy znaków "0123456789ABCDEF" by dopisać z niej cyfrę do stringa. string[0] = tablica[bajt>>4]; // albo [bajt/16] string[1] = tablica[bajt&15]; string[2] = 0;
Dzielenie liczby przez 16 bitowa jak najbardziej mi pasuje, tylko ze nie 32 bitowej przez 16 bitowa. Dlatego szukam jakiejs metody zeby ta 32 bitowa skrocic do 16 bitowej. Bez dzielenia.
To może nauczyciel się pomylił i chodziło mu o liczbę całkowitą?
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}...
(int)/(int) - dzielenie bez przecinka (procesorowy DIV jednostki ALU) (int)/(float) lub (float)/(int) lub (float)/(float) - dzielenie zmiennoprzecinkowe (jednostka FPU) 1 <- liczba typu (int) 1.0 <- liczba typu (float)
Funkcją replace usuwasz najpierw "spację" na końcu. Potem usuwasz przecinki. Masz liczby całkowite. Formułą dzielisz je przez 100 i w sąsiedniej komórce masz to, co chcesz.
Wydaje mi się, że przy takim zapisie czesc_czalkowita=stala/360 działa, ponieważ operację dzielenia dokunuje kompilator:) Pamiętaj że dzielenie przez potęgę liczby 2 to nic innego jak przesuwanie o jeden bit w prawo i analogicznie mnożenie to przesuwanie o jeden bit w lewo. Dlatego zgłasza błąd potęgi (XST:769 operator <divide> must have constant...
Ok, no to tak.. liczba jest podzielna przez 3 jesli suma jej cyfr jest podzielna przez 3. 256 bitow (0 i 1) to 32 bajty. Czyli 32 liczby (0-9). podczas wpisywania cyfr (0,1) zapisujesz je do tablicy 32 elementowej, po kolei. nastepnie dzielisz te tablice na 32 mniejsze, kazda z nich bedzie zawierala jedna cyfre (0-9) zapisana w kodzie binarnym. Teraz...
Witaj. Popełniłem kiedyś gitarowca z 2x ECL86 P-P w końcówce na bazie Regenta 10. Oryginalnie był tam transformator głośnikowy o oznaczeniu Bw 111, który zapewniał Raa chyba coś w okolicach 7,5-8kΩ jeśli dobrze pamiętam przy zasilaniu ok 280V i Rk = 100R. Philips dla układu P-P dla ECL 86 podaje: Vb =250V Rk= 84Ω Raa= 8,2kΩ lub: Vb=300V Rk= 132Ω Raa=...
Zrób rzutowanie dzielonych liczb na floaty.
jak najprościej wykonać obliczenie zmiennoprzecinkowe (z dzieleniem) na liczbach uint8_t, tak aby wynikiem także była liczba uint8_t? Wcale nie musisz wykonywać dzielenia na zmiennoprzecinkowych :wink: wystarczy że zrobisz np: tak: uint8_t a; uint16_t b; b=(20*10)/3; b*=10; a = b/10; Zasada jest taka żeby "przesunąć" przecinek z ilorazu w prawo...
kol. pawełek 305%10=5 305/10=30 30%10=0 30/10=3 3%10=3 i reszta z dzielania potem dzielenie liczby aż ta liczba osiągnie 0 teraz jasne ?
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
Bede wdzieczny za algorytm na ASM umozliwiajacy dzielenie liczby 16-to bitowej przez 16-to bitowa. Mysle i mysle i nic mi do glowy nie przychodzi. Szukam i tez nic (ale moze za slabo). Dzieki i pozdrawiam bede wdzieczny za wszelkie sugestie
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.
Witam, przecież dzielenie liczby całkowitej przez całkowitą może być tylko z niepodzielną resztą... :D Moim zdaniem, to Tobie brakuje wiedzy z możliwości zastosowania (niekonwencjonalnego) podstawowych układów cyfrowych, a więc do porządnego podręcznika i "przysiadaj portek", innego sposobu (przynajmniej ja) nie znam. Pozdrawiam
Spore kłopoty gdy chodzi o szybkość, ale generalnie chyba lepiej będzie przekształcić to do postaci BIN potem podzielić przez siebie (też będzie wolno) i ewentualnie wynik znowu do BCD. W asemblerze bym się tego nie podejmował, w C nie ma problemu, chyba, że rozmiar kodu.
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.
Do dzielenia częstotliwości przez liczbę wymierną wykorzystuje się układy pętli fazowej (PLL), ale są pewne ograniczenia - np. w zakresie dzielonej częstotliwości (nigdy ów zakres nie sięga zera). Ja bym proponował rzeczoną częstotliwość podzielić przez 2 - nie wykorzystamy pełnego zakresu, ale trudno. Drugi inteligentny pomysł został zaprezentowany...
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.
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.
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...
Zwykle dzielenie przez 2. Dzielimy dana liczbę przez 2 i jeżeli zostaje reszta wpisujesz obok 1 a jeśli nie to 0 27|1 13|1 6|0 3|1 1|1 0|- Wpisujesz te liczby od góry w pionie do poziomu od lewej strony. Czyli 11011. Liczba 27(10) = 11011(2) Teraz policz sobie liczbę 15 lub 2016 tym sposobem, wyniki to 1111 oraz 11111100000. Najlepiej zaopatrzyć się...
No w tej sytuacji chyba należy zajrzeć do podręcznika do matematyki do 3 klasy szkoły podstawowej. Kiedy wielokrotnie dzielisz liczbę całkowitą przez inną liczbę > 1, to w końcu musisz osiągnąć wartość 0. Zupełnie nie wiem, czemu nazwałeś tę zmienną "średnia" - przecież ze średnią nie ma to nic wspólnego.
Zmusza. Dzielenie i mnożenie na liczbach zmiennoprzecinkowych nie są tak upierdliwe jak dodawanie i odejmowanie. Ten dodatkowy kilobajt to procedury konwersji, mnożenia i dzielenia na liczbach zmiennoprzecinkowych.
Przede wszystskim trzeba wiedzieć co to za procesor. Domyślam się że 8-bit - więc nie ma instrukcji do dzielenia 16-bit (pomijam jakieś 'super-wynalazki' z układem arytmetyki zmiennoprzecinkowej itp.) Trzeba napisać lub poznać podprogram który dzieli liczby 16 bitowe i według tego się kierować.
Najprościej zrobić to na licznikach TTL lub CMOS np CD4040. Z tym że takie liczniki pozwalają na dzielenie liczby impulsów przez potęgi liczby dwa a co za tym idzie maksymalna liczba impulsów na wyjściu to 50 %. Pewnie przy użyciu kilku liczników z wejściem reset i pokombinowaniu dałoby się zrobić inne dzielniki. Jest jeszcze sposób z mikrokontrolerem...
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...
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...
To radze się wstrzymać z pisaniem programu bo te scalaki są kompatybilne jedynie przy odczycie tej 8bitowej liczby
dzielenie liczby 16bit bascom dzielenie liczby dzielenie liczby przez
turbo diesla benzyny oświetlenie kurnika rezystor objętościowy
kemppi mastertig 3500w kemppi mastertig 3500w
Mercedes W124 OM603 nie odpala - przyczyny Deutz-Fahr 60.0 S Agrohem - WOM nie zatrzymuje się