Wynik musi byc umieszczony w zmiennej typu SINGLE. Przykład: Dim A As Single , B As Long A = 10 : B = 8 Cls A = A / B Lcd A Do Loop
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...
Ciekawe pytanie dla AI (at)ElektrodaBot mam pytanie co do komputerów liczących w systemie dziesiętnym takich jak ENIAC. One dzieliły sygnał na 9 części np. natężenie aby wyszczególnić kolejne cyfry czy była jakaś inna logika dziesiętna?
Nie tędy droga. Skalowanie do niczego nie doprowadzi jeżeli mamy liczbę np <1e-8. Dżyszla: czytaj moje poprzednie posty na temat konwersji. Rozwiązanie jest zupełnie inne. Ale czy to jeszcze kogoś interesuje?
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...
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ą...
Pomnóż liczbe dzieloną przez 10 i podziel jako liczbe 16 bitową, w dziesiętnym wyniku będziesz miał ostatnią cyfre liczby jako część dziesiętną (trzeba inaczej wyświetlić)
Możesz pomnożyć resztę to przez 1000 a następnie znowu podzielić to przez dzielnik... Albo wykorzystać algorytm, z "dzielenia pisemnego" :D Np. 1.Pomnożyć resztę przez 10 2.Podzielić przez 16 3.Zapisać część całkowitą 4.Jeśli reszta>0 to skocz pkt. 1 5.Koniec PS Trzeba również pamiętać, o ustaleniu rozdzielczości(ilości cyfr) naszego ułamka dziesiętnego.
-zmienne są typu int (całkowite), powinny być typu double. - w warunku (if) masz przypisanie, nie porównanie, swoją drogą ten if nic nie robi (poza inicjacją zmiennej y, co powinno być zrobione poza if-em) - sformatuj kod - if zaczynający się w środku linii, czy średniki na początku są strasznie nieczytelne Pozdrawiam
Ten zapis ma dość niewiele wspólnego z wartością liczbową wyrażoną w bitach. Setki osobno i dziesiątki osobno? Sugeruję użyć dzielenia całkowitego. div()
No już ci napisałem - arytmetyka stałopozycyjna. 21/2=10r1. 1*10/2=5 - masz pierwszą cyfrę po przecinku. Możesz zrobić r*100 albo 1000. Jak z tego wyjdzie reszta to mnożysz dalej i dzielisz otrzymując kolejne miejsca dziesiętne lub binarne.
Witam, dostałem do napisania program w asemblerze, dla procesora 8086. Program ma być napisany w środowisku dosboxa. Cel programu to wykonanie operacji dla liczb 79 i 82 -dodawania -odejmowania -mnożenia Wyniki mają być wyświetlone w sposób dziesiętny w osobnym programie -dzielenia i wyświetlenie wyniku w sposób dziesiętny całkowitego - wyświetlenia...
Wojtek M po scaleniu programem "Dzielenie i Łączenie Plików". Plik upgrade_loader.pkg we właściwościach ma 486MB (bajtów: 510 605 573) czy zrobiłem coś nie tak ? Czy windows10 który jest u mnie nie pokazuje liczb dziesiętnych?
Witam Mój kod nie miał być idealny, chodziło mi tylko o to by Ci pokazać na przykładzie ideę z użyciem Int() :) Co do Twojego pytania: ROMSIZE : 2000 hex Całkowity rozmiar pamięci programu w formacie szesnastkowym (2000 hex = 8192 dec, czyli Twój kontroler ma 8192 bajty na program). ROMIMAGE : 7E6 hex -> Will fit into ROM Twój program zajmuje 7E6 bajtów...
przesuwanie i dzielenie to to w gruncie rzeczy to samo. W systemie dwójkowym dzielenie przez 2 to przesuwanie, w dziesiętnym przez 10 to przesuwanie w ósemkowym przez 8 to przesuwanie itd. Jak masz problem z dzieleniem "dużych" liczb to nie zapominaj że dzielenie i mnożenie jest przemienne i czasami łatwiej to zrobić z argumentem np 8 bitowym niż potem...
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.
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 .
:arrow: zumek Ja też robię bitshifting. Jakoś z przyzwyczajenia myślę bardziej binarnie, niż dziesiętnie...
Wszystko zależy od tego ile masz wolnego czasu i pamięci mikrokontrolera. Ja np. często wysyłam napięcia w postaci szesnastkowej, bo to nie kosztuje praktycznie nic po stronie uC, a program odbierający na PC odczyta je łatwiej niż z postaci dziesiętnej. Samo dzielenie przez 10, potrzebne do konwersji na postać dziesiętną, zajmuje grube dziesiątki instrukcji...
dodawanie odejmowanie mnożenie dzielenie moduł itp wszystkie działania są takie same we wszystkich systemach liczbowych.. na komputerze pojawiają się nam cyferki dziesiętne gdyż takiego syst. uczyliśmy się w szkole.. na komputerze wszystkie operacje są wykonywane w kodzie dwójkowym(binarnym) a wyniki są takie same i w dziesiętnym.. przykładowy przykład:...
Witam. Timer mikrokontrolera '51 taktowanego zegarem 11.059200 MHz zliczy w ciągu jednej sekundy 921600 impulsów. Ze względu na wielkość timera (2 bajty) może Kolega zliczać setne części sekundy - ustawić przerwanie co 9216 impulsów. Każde wywołanie przerwania zwiększy zmienną o 1, czyli mamy w niej wynik pomiaru z rozdzielczością 0,01 s. Rozwiązanie...
Kolego, napisałem w kolejnym poście, że sie pomyliłem dla 5V = 1023, czytaj dokładnie. Natomiast co do dzielenia przez 1023, zanim wygłosisz tak arbitralne tezy, proponuję abyś trochę poczytał a nie powielał nie do końca sprawdzonych twierdzeń. Otóż, w tym przypadku nie porównujesz dwóch zakresów 0-5V do 0-1023 gdzie 1023 odpowiada 5V, tylko dzielisz...
Cep jest zbudowany w naprawde prosty sposób. Bierzesz sobie wartość którą chcesz wyświetlić i dzielisz przez 10 (dziesiętnie jak by były wątpliwości). Reszte, która została z dzielenia wywalasz na ostatni w kolejności wyświetlacz. Całość która została po dzieleniu znów dzielisz przez 10, reszta z tego dzielenia idzie na przedostatni wyświetlacz. I tak...
Musisz wykonać konwersję wartości binarnej odczytanej z ADC na cyfry dziesiętne. Użyj dzielenia przez dziesięć (DIV). Pozdrawiam, Dr.Vee
No ale przecież 133/16 to nie jest 41998000! Bo to po pierwsze nie jest dzielenie w systemie 16stkowym tylko dziesiętnym w programie. Poza tym brakuje koledze funkcji fusing(), a jak podzielimy 133 w hexie czyli 307 w dziesiętnym systemie przez 16 to otrzymamy 19stopni i mniemam że taka temperatura jest ustawiona. A druga linijka jest zła ze względu...
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...
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...
Poza tym warto się zastanowić czy konieczne jest korzystanie z typów float do tak prostych celów??? Przecież w 100% można się obejść bez nich robiąc proste działania na liczbach całkowitych. W zależności od tego ile masz miejsc po przecinku w temperaturze to przez tyle pomnożyć liczby składowe w tym działaniu. Np jeśli będą dwa miejsca po przecinku...
Pytanie jest co wydrukuje instrukcja I.14. Program ten sie nie skompiluje.. Ale tu akurat widać, że to jest tylko fragment programu. Może wystarczy odpowiedź, że wydrukuje (czterocyfrową) liczbę szesnaskową, liczbę dziesiętną i jeszcze dwie dwucyfrowe liczby dziesiętne rozdzielone myślnikiem? Anegdota - dawno, dawno temu pisałem egzamin z asemblera....
Na dwóch się nie da, bo to są liczniki dziesiętne (BCD liczą maksymalnie od 0 do 9 ) więc mogą dzielić maksymalnie przez 100.
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...
To jest dość proste do rozwiązania. Załóż, że użyjesz EPROMu. Masz dwie zmienne 4-bitowe, wynik ma składać się z (zapewne) 3 lub 4 znaków. Podłącz do EPROMA: - nogi A0-A1 - wejście do multipleksowania wyświetlacza (do obsługi czterech cyfr) - nogi A2-A5 - wejście argumentu #1 - nogi A6-A9 - wejście argumentu #2 - nogi A10-A11 - wejście typu operacji...
Jest 4096 kwantów, pierwszy 1 obejmuje napięcie w zakresie 0 - (0+805,6uV) a ostatni 4096 kwant zakres od (3,3-805,6uV) do samych 3,3V. Nie chcę się czepiać ale ten prawidłowy wynik jest źle zaokrąglony bo powinno być 805,6640625uA czyli 805,66uA. Wynik jest ułamkiem dziesiętnym skończonym
dzielenie całkowite + modulo. Przy dzieleniu przez 10 uzyskasz górną cyfrę, przy modulo 10 dolną.
np: 234,7=2347*10do-1; 765,1=7651*10do-1; 234,7+765,1=10do-1*(2347+7651); podobnie odejmowanie; 234,7*765,1=10do-2*(2347*7651); dzielenie podobne tylko trzeba jeszcze resztę zamienić na postać dziesiętną np: liczba całkowita z dzielenia 2347/7651=0; "miejsca po przecinku" 10do-1/10do-1=10do-2; reszta z dzielenia 2347/7651=5304; licznik to 5304 mianownik...
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.
Dzielenie - wielokrotne odejmowanie aż do skutku... ;)
Tu Zamiana z dziesiętnego na binarny liczby 23: 23 : 2 = 11 reszta z dzielenia = 1 11 : 2 = 5 reszta = 1 5 : 2 = 2 reszta = 1 2 : 2 = 1 reszta = 0 Odczytujemy liczbę od tylu: 10111 Zamiana z bin na dec liczby 10011<zaczynamy od konca, ale mozna tez od poczatku>: 1*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 1*2^4 = 1+2+0+0+16 = 19 Z dec->hex i z hex->dec...
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
Witam Nie będziemy znali ilości bitów jaką będzie reprezentowała liczba, wiec w pętli dzielisz wprowadzoną liczbę dziesietna przez 2 i patrzysz jaka reszta. Tak do skutku kiedy do podziału zostanie Ci zero. Będziesz wtedy znał liczbę bitów do wyświetlenia no i będziesz mógł wyświetlić wszystkie reszty z dzielenia. Pozdrawiam
Już znalazłem. Jakby ktoś był zainteresowany, to szybkość SW-CAN (33,3 kbps), info ma Id 1280 (0x500), bajt 2 (odczyt dziesiętny) i jest to dzielone przez 8. Czyli dokładność 0.125 V DC.
W pliku binarnym mam ciąg bitów, który potem dzielę na bloki zamieniam na system dziesiętny wykonuję obliczenia i znów zapisuje do pliku binarnego. Taka funkcja skrótu. Dodano po 27 dziękuję taki kod działa [syntax=cpp]string pobierz(string m) { ifstream plik; plik.open(sciezka, ios::binary); if( plik.good() == true ) { ifstream(sciezka)>>m; for(size_t...
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...
A po co dzielić od razu: http://www.eng.utah.edu/~nmcdonal/Tutori...
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 Otrzymujesz 2 bajty z Ds-a msb oraz lsb(oznaczenie w Twoim przypadku) Następnie starszy bajt przesuwasz w prawo o 4 młodszy w lewo o 4 i dodajesz do siebie. Otrzymujesz w sumie 1 bajt ( o jakieś wartości dziesiętnej) no i odpowiednio dzielisz całkowicie pózniej reszta z dzielenia i tak dobierasz sie do każdej cyfry oddzielnie. Jeśli chcesz to...
Algorytm mogę wymyślić w przypływie dobrego humoru, ale na razie moja oracja: 6800 ma instrukcję korekcji dziesiętnej, która zadanie znacząco upraszcza. Albert
Chcesz się pobawić edukacyjnie, czy po prostu potrzebujesz urządzenia? W tym drugim przypadku proponuje standardowe rozwiązanie nr 1 - użyj licznika od roweru, małe kółko, do licznika wpisany obwód kółka powiększony 10 razy. Odczytujesz tzw przebieg dzienny, przed pomiarem zerujesz go. Oczywiście wynik dzielisz przez 10, można po prostu zaznaczyć nowe...
Najpierw zamienisza na dziesiętną: 0xh1h2 Ld=h1*16+h2 a potem: bajt_jednosci=(reszta z dzielenia)Ld/10; Ld=Ld/10; bajt_dziesiatek=(reszta z dzielenia)Ld/10; bajt_setek=Ld/10; Żeby teraz dostać z tego znaki assci dodajesz do bajtow 0x030 (czyli 48 dziesiętnie). BTW to szukaj, szukaj, szukaj - było to już omawiane wiele razy.
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...
Kalkulator z zegarem. Kalkulator 4-działaniowy (dodawane, odejmowanie, mnożenie i dzielenie), a gdy nic nie liczysz, to wyświetla godzinę i datę. Albo kalkulator do przeliczania liczb w różnych systemach (binarnym, dziesiętnym, szesnastkowym...)
Char to tylko typ zmiennej, a hex forma zapisu. Jeżeli funkcja przyjmuje wartości char(8bit) to nie jest ważne czy ty to podasz binarnie, dziesiętnie czy w hexach- ważne jest żeby liczba ta mieściła się w zakresie char. Jeżeli SPI działa w trybie 8bitowy, i funkcja wysyłająca znaki przyjmuje wartości char, a ty chcesz wysłać większą zmienną, to musisz...
C jak napisać procedurę na zamianę kodów z systemu dziesiętnego na inny, dowolny, za pomocą dzielenia modulo? Próbowałam wiele razy, ale już nie mam pomysłu :( Chodzi mi o coś prostego, byleby działało :D Z góry dziękuję.
Spróbuj jednak napisać funkcję nie używając żadnej biblioteki a reprezentując liczby w postaci tablicy typu char. Oczywiście, postaram się napisać funkcję w oparciu o reprezentację liczb w postaci tablicy typu char. Przyjmijmy, że chcemy podzielić liczbę A przez B, zwracając wynik w postaci stringa. Funkcję można zrealizować w sposobie klasycznym,...
Ogólnie to możesz zrobić tak, że puszczasz pętlę, która liczbę dziesiętną dzieli przez 2 i resztę zapisuje jako kolejne bity. Np. Mamy liczbę 11, dzielimy przez 2, otrzymujemy 5 i resztę 1, znów dzielimy przez 2, otrzymujemy 2 i resztę 1, dzielimy przez 2 i mamy 1 i resztę 0, znów dzielimy przez 2 i mamy 0, resztę 1. Stąd 11dec=1011bin (zapisujemy kolejne...
Jak nie znajdziesz, warto to napisać. To sympatyczne "zadanie dla studenta". Pętla dla cyfr całkowitych z dzieleniem całkowitoliczbowym /10, kropka, pętla dziesiętnych z modulo. Strzelam: 100-150 bajtów kodu maszynowego AVR. Wariant hardkor, spatchowanie albo wykonanie zamiennika sprintf. Wymagane opanowanie grupy funkcji (makr) va_args. Fajne doświadczenie...
Witam wszystkich jestem studentem drugiego roku informatyki i Pan prof. zadał mi pytanie przewyższający moją zdolność rozumowania :D . Oto kod programu: [syntax=asm].686 extern _ExitProcess(at)4: near public _main _DATA SEGMENTdword public 'DATA' use32 Divisor1 DD 21 Divisor2 DD 2 Result DD 0 RemainderDD 0 _DATA ENDS _TEXT SEGMENTdword public 'CODE'...
Jeżeli chodzi o matematyke to liczbe w formacie DEC dzielisz przez 10 i wynik dzielenia to ostatnie 4 bity, a reszta z dzielenia to pierwsze 4 bity wynik-|--reszta 1-0-0-1-0-1-1-0
zmieniłem wynik z milisekund na sekundy poprzez elapsedTIme = (millis() - startTime)/1000, jednakże "elapsedTime" nie wyświetla wyniku po przecinku a zaokrągla liczby. Jak sprawić by zmienna elapsedTIme wyświetlała liczby niecałkowite? Wstępna ocena dostępnych informacji Analiza podanych przez użytkownika danych: - Użytkownik zmienił wynik pomiaru...
eh, to dosyć proste funkcje - można to zrobić samemu: 1. konwersja dec->bin - dzielisz sekwencyjnie przez 2 i zapisujesz kolejne reszty z dzielenia 2. konwersja bin->dec - bierzesz kolejne cyfry i sumujesz cyfra*(2^(pozycja cyfry))
Witam Moja propozycja jest następująca: mając string z poszczególnymi bitami dzielisz go na kawałki 4-ro znakowe. I wtedy taki czteroznakowy string zamieniasz na odpowiadającą wartość HEX. Potem pobierasz kolejne cztery znaki i znów zamieniasz. Możesz sobie zrobić np. tablicę w której umieścisz np. 100 bitową liczbę. Kolejne dane będziesz pobierał z...
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...
Maszyna Turinga działa na zerach i jedynkach, przekształcenie na liczby dziesiętną nie ma sensu. Niestety to nie to
Witam! Czy ktoś mógłby wytłumaczyć, dlaczego stosuje się kwarce 32768 dla podłączenia RTC? Probuję zrobić RTC na STM32 i oczywiście jak to wszyscy pisza - podłączyć 32.768Khz kwarc. Ale dlaczego? No wiem, łatwiej się dzieli. Ale naprawdę ma to aż takie znaczenie dla wydajności uC? Miło byłoby uzyskać rozdzielczość przynajmniej dziesiętne sekundy, i...
Widzę, że poprawiłeś temat :) W pierwszej pętli najpierw powinieneś obliczać c , a dopiero później dzielić z przez dwa (licząc tak jak teraz gubisz jeden bit). Pamiętaj, że trzecia część nagłowka pętli for (u Ciebie k ++) wykonuje się przed sprawdzeniem warunku zakończenia pętli. Czyli po ostatnim przebiegu pierwszej pętli k wskazuje nie na ostatni...
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ę...
Liczbę dzielimy z resztą przez kolejne potęgi 10^n, aby otrzymać jedności, dziesiątki, setki, tysiące itd. Robimy tablicę samych cyferek ASCII i indeksujemy ją liczbami dziesiętnymi otrzymanymi z naszej liczby + #48 (znak zero).
Mówiłem że nie zastosowałeś zaokrąglenia. Pozostawiłem twoje wyliczenia ale z większą ilością miejsc po przecinku. Jak widzisz to nie są liczby z dwoma miejscami po przecinku tylko mają większą dokładność. (gdybyś posłuchał (zrozumiał) co mówiłem z przyciskaniem ikonki "zwiększ dziesiętne" zapewne byś do tego sam doszedł) Excel w komórce przechowuje...
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ć.
W C przekazuje się do linkera po prostu: -Wl,-u,vfprintf -lprintf_flt. Myślałem, że mała modyfikacja kodu który podałem załatwi sprawę, to co proponujesz jest chyba zbyt zagmatwane dla mnie. Może jednak da radę zmodyfikować mój kod? Nie ma co modyfikować, bo on czasami da ci dziwne wyniki. float jest reprezentowany jako mantysa i wykałdnik, ponieważ...
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...
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...
Nie wiem jak się do tego zabrać. Studiowałem procedury, szukam po elce i lipa. Chodzi o procedure dzielenia liczby dwu bajtowej przez 100 (dziesiętnie). Czyli skrócenie wartości o dwa zera (2000/100=20), mało tego wynik nigdy nie będzie miał więcej niż jeden bajt. Niestety wszytskie procedury z jakimi miałem styczność chłoneły nawet po 700 cykli zegara....
Przypominam, że komputery liczą w systemie binarnym! Implementacja tego była by tylko trochę trudniejsza (chyba, że ktoś myśli jak maszyna, do czego się konsekwentnie zbliżam :D ) niż systemu dziesiętnego, a wydajność wielokrotnie wyższa. Można by wtedy w prosty sposób zrobić mnożenie i dzielenie (binarne jest prostsze!), gdzieś na elektrodzi był chyba...
(at)krkmar wyślij taką ramkę jak na obrazku poniżej a otrzymasz parametry o numerach 1, 2, 3, 4, 12 i 13. https://obrazki.elektroda.pl/1785642100_... Parametry rozkodujesz tak, jak to opisałem powyżej, ale może przedstawię to jeszcze raz na tym przykładzie. Do obliczeń zamień sobie najlepiej całą ramkę z HEX na dziesiętnie. Ramka odpowiedzi...
Właśnie o te układy arytmetyki się boję najbardziej :wink: Póki co rozwiązałem to w ten sposób, że jeżeli mam współczynnik np. 0,324 to mnożę sygnał najpierw przez 324 a poźniej dzielę przez 1000 i wydaje się działać :) W ten sposób jest poźniej łatwiej nawet zmieniać wspólczynniki filtru, bo wpisuję sobie wartości dziesiętne jak leci do kodu, a nie...
Do tego typu konwersji procesory mają instrukcję korekcji dziesiętnej. Jeśli mnie pamięć nie myli to DA w przypadku 51. Umiejętnie użyta eliminuje konieczność dzielenia. Aby autor wątku mógł poczuć satysfakcję z własnej pracy, nie napiszę gotowego programu, lecz przybliżę algorytm. wynik = 0 for licznik = bits - 1 downto 0 begin wynik = wynik + wynik...
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.
Ale tablica potrzebna do wyznaczenia wartości elementów ciągu ma rozmiar tylko taki, który element ciągu chcesz poznać. Jak chcesz 50-ty, to potrzeba tablicy 50-elementowej typu long long. Co więcej - po wyznaczeniu wartości elementu ciągu można śmiało ją usunąć. W algorytmie sita nie ma możliwości efektywnego skrócenia wielkości tablicy o więcej, niż...
inne uwagi: - nie sygnalizuje dzielenia przez zero przy A DIV B i A MOD B - nie wyświetla dziesiętnej liczby ujemnej (czyli liczby z minusem) ani w przypadku liczby B ani wyniku. W przypadku liczby A można by dać wynik dziesiętny trochę grubszą czcionką. - brakuje operacji np. -A czyli dopełnienia do dwóch ((NOT A)+ 1) - także operacja była by przydatna...
Skoro zamieniasz minuty na godziny, to wynik taki właśnie będzie (godziny dziesiętnie). Najprościej wartość po przecinku wymnożyć przez 60. Albo wyliczyć liczbę całkowitą z dzielenia i odjąć. Coś na wzór: test = 2173 godz = Int(test / 60) min = test - h * 60 I połączyć jako string: wynik = godz & ":" & min
Po pierwsze nie wiem jak to zrobic jak mam ja zapisana w 2 rejestrach, a po drugie to chyba w B(reszcie z dzielenia) bede mial na poczatku jednosci,a potem dziesiatki itd.
???? Mieszasz hex z dziesiętnymi Żadnych if-ów Format to po prostu xxxxxxx.xx bez kropki. Potrzebujesz więcej miejsc po przecinku znieniasz wartosć przez którą dzielisz. Chcesz pomnożyć przez 0.01 to mnożysz przez jeden przez .1 to przez 10. przez 0.15 to przez 15 przez 2.55 to 255. Jaki problem? To jest uproszczona reprezentacja stałopozycyjna. Rzeczywiście...
Witam mam taki problem, jak rozbić liczbę (zawierającą 0) na pojedyncze cyfry z komórki? Oto przykład: Liczba: 5032105231 Chcę ją rozbić na pojedyncze cyfry w kolejnych komórkach. Powinienem więc otrzymać: 5, 0, 3, 2, 1, 0, 5, 2, 3, 1 Próbowałem używając funkcji =FRAGMENT.TEKSTU itp. ale zwrócone wartości nie są cyframi i nie można na nich stosować...
Witam, Na wejściu mamy 40-bitową liczbę binarną, potrzebujemy ją skonwertować na zapis przy podstawie 10. Chcemy tego dokonać bez angażowania 'dużej biblioteki'. Najlepiej jest tego dokonać metodą kompensacyjną. [syntax=C] /* niezbędne deklaracje np. uint8_t arr[5]; itp. Także kolejność lsb..msb bardziej pożądana, ale nie niezbędna */ /* Tablica użyta...
No to właściwie się każdy nada do tego celu. Najprościej jest zapisać liczby w układzie dziesiętnym: jedna komórka pamięci jedna cyfra. Dodatkowa komórka do pamiętania znaku i jeszcze jedna do pamiętania położenia przecinka. Muszą być takie dwa zestawy dla obu wprowadzanych liczb. Przed dodawaniem i odejmowaniem przesuwasz jedną liczbę tak by przecinki...
ZeeWolf: Gratuluję pomysłu. 728 div 256, 728 mod 256 czyli musisz w procku wykonać operację dzielenia word'a przez byte i to dwa razy, a w przypadku kiedy liczba ma ponad 100 cyfr w zapisie dziesiętnym to będzie ło baba jaga...
Jeśli chodzi o odejmowanie o jeden to dodaj 99 i potem wykonaj DA A. Jeśli zaś chcesz odejmować dwie wartości binarne np. 56 - 23 = 33 a potem przetwarzać je na na kod BCD to trzeba korekcję zrobić "ręcznie" z dzieleniem przez 100, 10 włącznie. No chyba, że chcesz dwie liczby BCD odjąć od siebie.
(at)asembler Jaka jest precyzja tego dzielenia ?, ile miejsc po przecinku, bo w precyzji do liczb dziesiętnych to tak jak w pierwszym pisałem poście, zrobiłem taki paskudny kod, a przydało by mi się chociaż 1, 2 miejsca po przecinku: ; L R ;Compare R12,R13,R14,R15 && R16,R17,R18,R19 Cp_R12R19_32b: cp R15, R19 breq cp32r_same3 brlo cp32r_rg rjmp...
11 hex to oznacza 11 w układzie szesnastkowym czyli 17 w układzie dziesiętnym, tyle, że to jest liczba 5 bitowa a nie jak zwykle 4 bitowa ??? Zapis szestastkowy na dziesiętny przeliczasz tak: Ld= c16h*16+c1h Ld - liczba dziesiętna c16h - starsza cyfra liczby, może mieć wartości 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F gdzie liltery odpowiadają A=10, B=11,...
1. Bardzo fajna konstrukcja, mam tylko wątpliwości co do sposobu przedstawiania wartości na wyświetlaczu (górny wiersz) - rozumiem, że te kropki w zamyśle pewnie miały oddzielać grupy trzycyfrowe - na filmiku w jednej liczbie są pokazane dwie kropki - i nie wiadomo gdzie jest "przecinek dziesiętny" - część całkowita i ułamkowa. To jest mylące... Może...
Chciałem sie spytać czy sposób, który używam jest prawidłowy? np. liczbę 23 przeliczam tak: rozpisuje sobie liczby pomnożone przez dwa: 1 2 4 8 16 32 64 128 256 itd następnie podstawiam zero gdy liczba jest większa od 23 a jeden gdy mniejsza: ... 16 1 32 0 później do 16 dodaje następna liczbę czyli 8. Jeśli jest powyżej 26 pisze zero itd. Wychodzi mi...
Oto kod programu: .model small .stack 512 .data napis db 'Ilosc zainstalowanej pamieci wynosi: $' .code int 12h ;zwraca do ax ilość pamięci(max 640 kb) mov bl,10 div bl ; dzielimy wartość w ax aby uzyskać liczbę dziesiętną add ax,3030h mov napis,ax ; chcemy skopiować wartość z ax do napisu mov ax, seg napis mov ds,ax mov ah,9 mov dx,offset...
Ad1. Access przyjmuje 1 jako 100% i taką liczbę przechowuje. Można się do tego przyzwyczaić. Potrzebne jest to do obliczeń (25x1=25 w innym przypadku: 25x100=2500 i wynik musisz dzielić przez 100). Oczywiście w formularzu można to nieco uprościć. Rozmiar pola: Pojedyncza precyzja Format: Procentowy Miejsca dziesiętne: 0 Reguła spr. poprawności:>=0...
Witam! Ostatnio w moim aucie ciągle gdzieś ucieka mi prąd na postoju, po nocy nie ma mowy o odpaleniu auta. Pierwsze co zrobiłem, to oczywiście wyczyściłem klemy i zmieniłem akumulator, na praktycznie nowy BOSCH S3 70A 640Ah. Problem niestety pozostał. Po zmierzeniu miernikiem nastawionym na 10A po kilku minutach od zamknięcia pojazdu wynik to 4.25...
A co do oprogramowania, mam jeden problem nie wiem jak przeliczyć wartość dziesiętną na bity - np. 255 to 11111111 Zależy czy ma to być algorytm dla komputera czy dla człowieka. (działają identycznie tylko inaczej się zapisuje) dla człowieka: dziel liczbe dziesiętną przez 2 będzie reszta 0 lub 1, wynikiem binarnym są reszty w kolejności od najmłodszego...
Witam, potrzebuję pomocy, a moi nauczyciele są za głupi ;P ewent. nie mają czasu. Jak w temacie wiadomości, chciałam zrobić algorytm procedury dekodującej z dowolnego systemu liczbowego, na dziesiętny. Bo o ile z zakodowaniem nie mam problemu, wystarczy użyć dzielenia modulo, to w drugą stronę gorzej. Chodzi o algorytm, bo wątpię że ktoś tu wogóle bawił...
Cyfra 2 to kod ASCII 32 (hex) - i tyle musisz na wyświetlacz wysłać. Liczba 55 to dwa bajty o wartości 35h wysłane na wyświetlacz. Chcesz liczbę 2 cyfrową dziesiętną wysłać? Podziel przez 10 i dodaj 30h - wynik wrzuć na wyświetlacz, następnie do reszty z dzielenia przez 10 dodaj 30h i wrzuć na wyświetlacz. Można też użyć itoa jak ktoś ma ochotę.
Ok spróbujmy... Wiesz zapewne że kod binarny składa się z "0" i "1". Wiec tak zapisz sobie pokolei: W dwojkowym masz możliwość zapisania tylko liczby 2 i jej potęgi (od 0 do n). W pierszym wierszu masz rozpisane pokolei potęgi liczby dwa (przeliczone na system dziesiętny) W drugim wierszu mas to samo w postaci 2^n w 3 wierszu masz zapisane która potęga...
Mój błąd, reszta z dzielenia wynosi 6. Problem rozwiązany, wystarczyło napisać warunek, [syntax=c]if(cz_u<10)lcd_int(0);[/syn... [syntax=c]/* * main.c * * Created on: 2012-07-30 * Author: Sylwek */ #include <avr/io.h> #include <util/delay.h> #include "LCD/lcd44780.h" int main(void) { //************************** USTAWIENIA WEJŚCIA ADC...
symbol dziesiętny binarny dziesiętny system dziesiętny
wiertarka bosch wirnik alternator trafic huawei tylna klapka
czujnik temperatury silnika zafira czujnik temperatury silnika zafira
Schemat oscyloskopu H3013 (C1-83) - gdzie znaleźć? Nadmierne ściemnianie wyświetlacza po włączeniu świateł w samochodzie - jak rozwiązać problem?