Witam, mam prośbę do kogoś kto zajmuje się assemblerem o wyjaśnienie mi pewnego problemu. A mianowicie muszę wykonać dzielenie binarne, znalazłam w książce w sumie to co mnie interesuje lecz nie bardzo rozumiem dlaczego to działa. W załączniku znajduje się ten fragment wraz z kodem którego nie rozumiem....
Podprogramy pobrane zostały ze strony Strona nieraz przewijała sie na forum. Po analizie i sprawdzeniu na symulatorze uważam że podprogramy dzielenia binarnego we wszystkich odmianach działają nieprawidłowo, dla chrakterystycznych wartości operandów. Przygotowałem materiał w załaczniku do sprawdzenia...
Standardowy algorytm dzielenia binarnego - jeden z dwóch do wyboru - restytucyjny albo nierestytucyjny. Opis znajdziesz w każdej książce z okolic arytmetyki komputerów.
dzieki za ZIP-a i RAR-a znowu troche wiadomosci sie zdobyło.zastanawiam sie nad sposobem H-DOC-a.ciekawy sposób- daje w końcu dla powiedzmy 1023bitów liczbe 1500 (bład o 1 ale to sie da poprawić)zapisana binarnie, czyli 101 1101 1100 (5 13 i 12)tylko jak to przetworzyć na BCD, bawiłem sie z binarnych...
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...
na kartce sie podana liczbe dzieli przez 2 i sprawdza czy jest reszta z dzielenia jezeli tak to zapisujemy 1 jezeli nie ma zapisujemy 0 i czytamy od dolu nasza liczbe binarna ! ehis : dzieki za linka ale ogolnie to nie mam pojecia co tam jest przegladalem juz dzisiaj tego posta ... nie zabardzo...
[url=]Algorytm dzielenia na wielobajtowych liczbach w systemie binarnym przedstawiłem w zlinkowanym tekście. Jeśli jednak chcesz zastosować stricte zasady dzielenia pod kreską, to również można. Najlepiej potraktuj liczbę wejściową jako ciąg tekstowy. Następnie od jego początku szukaj takiej wartości,...
Nie dziel 1/3, tylko 100/3 albo 1000/3 (oczywiście w systemie binarnym przesunięcie musi być w oparciu o właśnie system binarny dokonane)... Dokonaj takiej normalizacji, aby otrzymać liczbę całkowitą, w której tylko wystarczy przesunąć przecinek. Tak więc przed przystąpieniem do dzielenia zmaksymalizuj...
Witam, kto mi to przełoży na chłopski rozum, bo zgłupiałem! przesunąć liczbę w postaci binarnej o jeden bit w prawo (podzielić przez 2) wykonać operację XOR na odpowiednich bitach liczby i wyniku dzielenia liczby przez 2 Odwrotnie potrafię to zrobić, ale z binarnego na Greya - nie kumam? bo np. Przykład...
Chciałbym odwrócić wartości tablicy, mianowicie program ma obliczać liczby dziesiętne na liczby binarne. Więc dziele każdą liczbę dziesiętną przez dwa i resztę z jej dzielenia z % 2, zapisuje jako element tablicy. Jednakże wynik binarny czyta się od drugiej strony, wiec chciałbym by program wyświetlał...
Trzeba zsyntezować układ arytmetyczny do obliczania reszty z dzielenia, albo wziąć sobie gotowy układ z biblioteki (np. w pakiecie ISE jest narzędzie coregen do generacji różnych bloków funkcjonalnych). Poza tym dla różnych systemów liczbowych istnieją różne wartości modulo, dla których obliczanie...
Witam!! Potrzebne mi sa jakies wiadomosci na temat funkcji liczacych kody binarne. Jezeli ktos posiada moze gotowy program takiego kalkulatora (dodawanie odejmowanie dzielenie mnozenie pierwiastkowanie) to bardzo prosze o pomoc. Z góry dziekuje i pozdrawiam
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...
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ść...
Funkcje trygonometryczne realizuje się często przez rozwinięcie ich w szereg Taylora. Ponadto powstał też algorytm CORDIC, który o ile dobrze pamiętam wymaga tylko operacji przesunięcia i dodawania, przez co świetnie nadaje się do implementacji w małych uC, czy FPGA (google). Do mnożenia stosuje się...
Witam, Napisanie programiku który konwertuje liczbę jedno- bajtową binarna na BCD jest dość proste i zajmuje to nie wiele cykli procesora. Niestety kiedy usiadłem do napisania konwersji 16 bitowej liczby, już na samym wstępie zauważyłem, że prawdopodobnie procesor wykonać bedzie musiał tyle operacji,...
Niestety problem następny dane przekazuje ,wszystko działa ale wynik niezgodny z oczekiwaniami ,licząc kalkulatorem i funkcjami wbudowanymi wyniki się różnią .Przypuszczam ,że problem tkwi w sposobie zamiany przez excel tekstu na binarne ,lub jeszcze inny problem . W docelowym programie przy składniku...
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
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ść...
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.
A jak mozna podzielic liczbe 12345/65536 = 0,18765.... mnie by tylko interesowlo np 0,187?? Bo jak dam dzielenie binarne tych liczn to wyjdzie mi zero!!
Witam Nie moge doszukać się funkcji konwertującej dane decymalne na binarne w visual basic'u. Zamiana na HEX i OCT jest bez problemowa bo są to funkcje wbudowane w VB na stałe. Czyżby nie było zamiany w prosty sposób na binarne, np. jak w excelu dec2bin? Czy trzeba budować funkcję dzielenia przez 2...
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...
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 ... podstawiam zero gdy liczba jest większa od 23 a jeden gdy mniejsza: ... 16 1 32 0 później do 16 dodaje następna...
zlozyc tak jak podzieliles tylko, ze w druga strone ;)... np. bierzesz bit mnozysz przez 10... w sensie, ze 0b10... czyli dziesietnie 2... dodajesz nastepny bit... i mnozysz i dodajesz i mnozysz ;)... i az sie bity skoncza ;)... a z tym dzieleniem na bity to niekoniecznie... w jakim jezyku piszesz??
Sprawdź reszty kolejnych cyfr z dzielenia przez 5. Wynik mało ciekawy: a(4*n)+2*(4*n+1)-a(4*n+2)-2*a(... cyfra od 2^x
j możesz wyznaczyć z dzielenia modulo (%). W ten sposób łatwo stworzyć funkcję, która może zwracać dowolnie wskazany bit z ciągu bajtów ;) A poza tym właśnie o to chodziło :) ps.Co do rozpoczynania zdania dużą literą a kończenia kropka. To oczywiście zastosuje się do tego. p ozdrawiam kotlar...
Gdyż reprezentacja liczby ujemnej nie jest jednoznaczna. W systemie zapisu U2 (najczęściej wykorzystywanym) dla liczb stałoprzecinkowych informację o tym, że liczba jest ujemna odpowiada wartość 1 dla MSB oraz odwrócenie wartości wszystkich bitów. W zależności od kompilatora niezaznaczenie wyraźnie typu...
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=]tutaj. Pozdrawiam, Dr.Vee
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...
w 74LS90 zamień kolejność dzielenia - najpierw przez 5 a dopiero potem przez 2 - w ten sposób na wyjściu otrzymasz ciąg impulsów o równej długości "1" oraz "0". Wszystko zrozumiałem i przerobiłem, poza tym dzieleniem najpierw przez 5 potem przez 2 - jak to w ogóle zrobić ? Mam połączone...
I jeszcze na koniec się przyczepię, "technologia SMT", podobnie jak "dioda LED" czy "siła SEM", to masło maślane, więc albo po prostu SMT albo "technologia SMD" ;) Poprawiłem - na diody uważałem ale SMT się wkradło miało być tak jak jest :) I jeszcze jedna rzecz nie opisana powyżej. Całość chodzi...
Zwykłe binarne dzielenie nierestytucyjne przy 10 bitach będzie prawdopodobnie prostsze, niż każda z tych kombinowanych metod - to w końcu tylko 8 obiegów pętli z porównaniem, przesunięciem i warunkowym odejmowaniem, tyle że te trzy operacje trzeba zrobić na 10 (czyli w praktyce 16) bitach. Gdyby toto...
Mnie się także wydaje że należy najpierw zamienić te "cyfry" na kod normalny tzn.binarny bez uzupełnień i po tym dzielić (zamiana może wyglądać tak że po prostu dodajemy kolejne wartości poszczególnych cyfr z uwzględnieniem ich wag czyli np.12753 BCD to 3+50+700+2000+10000) Do testowania tego typu...
Witam, Niech żyje Dr. hab. Mariusz Barski™, a ma może ktoś pomysł jak zrobić dzielnik sekwencji wejściowej, właśnie przez 5 tylko na przerzutnikach JK ?? Dlaczego ni z gruszki, ni z pietruszki mieszasz w to jakiegoś doktora? Ja nie widzę żadnego problemu by zrealizować licznik wedle żądanego...
Ok , postaram się to wyjaśnić ;) Sub Modyfikuj_polbajt(byval Polbajt As Byte , Byval Zmien As Byte) 'Polbajt , to pozycja kursora na LCD (1-16) 'Zmien , to wartość 1 gdy zwiększamy o 1 , lub 255 gdy zmniejszamy o 1 Local Hb As Byte 'zmienna pomocnicza dla starszych(4-7)...
Potrzebujesz do tego celu trzy liczniki 7490. Należy je połączyć w szereg i zdekodować stan 161 i wyjście tego sygnału podać na wejścia zerujące liczników (zwróć uwagę na poziom aktywny wejść zerujących). Ten sam sygnał wykorzystaj też jako wyjście twojego układu. Zwróć tylko uwagę, że przy takim połączeniu...
Cześć, Dzięki za cenne podpowiedzi. Czyli nie będe tego robił na układach TTL (w sumie to by może i było możliwe, ale chyba bez sensu i stare rozwiązanie). Mam możliwość wykorzystania karty komputerowej z 16 wejściami cyfrowymi PCI 1711 firmy Advantech. Jednak na tej karcie jest tylko 16 wejść...
Czy nie ma szybszych alglorytmów? Oczywiście, że są. Wykorzystaj algorytm mnożenia i dzielenia pisemnego. Dzięki temu znacznie ograniczysz ilość dodawań czy odejmowań. Na przykład 1234 * 5678 zrobione metodą powyższą to 1234 dodawania (zakładam, że program jest chytry i sprawdza na początek która...
Co do drugiej części - wszystko byłoby ok, ale w liczbach binarnych moga znaleźć się są jeszcze inne ciągi bitów niż 0000 ... 1001 - i co wtedy? W tej chwili tak naprawdę wypisujesz reprezentację heksadecymalną liczby, oprócz tego, że pomijasz cyfry A-F. Jeśli chcesz wypisać reprezentację dziesiętną,...
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.
Mam mały problem z zadaniem Otóż muszę mam dany adres 17.0.0.0 muszę podzielić go na 75 podsieci i podać parametr 50 Jest to adres klasy A, czyli domyślna maska 255.0.0.0 Jeśli mam podzielić go na 75 to 7 miejsc w 2 oktecie jest zajętych na podsieć. Jeśli mam podać parametr 50-tej podsieci zamieniam...
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 ?
Takie pytanie mi się nasuwa po przeanalizowaniu twojego kodu: Skąd wiadomo kiedy będzie gotowy/poprawny wynik dzielenia gdy wpiszemy nowe dane wejściowe? przydałby się wejście zezwolenia i ready :D pzdr
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...
Jak to zrobić w druga stronę? tzn wpisując np do p Czyli chcesz zamienić liczbę binarną, na liczbę zapisaną w kodzie BCD. BCD=binarna przez dziesięć, razy szesnaście, plus reszta z dzielenia binarna przez dziesięć :D EDIT: No to masz 2 podpowiedzi.
dzielenie w bascomie zjada bardzo dużo zasobów... zamień liczbę na hexy albo binarnie i dodawaj albo odejmuj, [url=]dzielenie binarne to w zasadize odejmowanie z przesunięciem...
Znasz taką strukturę jak "tablica" ? Albo taki algorytm jak dzielenie binarne? Wszystko da się zakodować. BTW swicth case na 200 pozycji mógłby być ciekawie zoptymalizowany, potwierdzicie?
mam dwa kody które napisałem do szkoły teraz dostałem zadanie połączenia tego by wyglądało jak kalkulator o to kod FUNKCJI : uses crt; VAR a,b,l,wynikh,x1,x2:integer; o, d,c: char; e,s:string; reszta,i,j:integer; wx,wy,w,x,y,a1,b1,c1,a2,b2,c2,pdelta,del...
Witam Mam ogromna prośbę. Potrzebuje przeanalizować 2 programy które niestety nie działają poprawnie. Programy pisałem sam lecz niestety sa w nich pewne błędy które niestety nie mogę znaleźć. Po asemblacji działają jednak w programie symulacyjnym nie wyświetlają tego co powinny, wiec s to programy bardziej...
Ok. Faktycznie proste. F F B C = 15 15 11 12 = 1111 1111 1011 1100 A B B A= 10 11 11 10 = 1010 1011 1011 1010 Dobrze!! wiem jak zamienic postać szesnastkową(heksadecymalna) na binarną(dwojkową). Ale jak zamienic postac heksadecymalna na dziesiętna? np. ABBA = ?(10) To akurat jest...
Witam! 1. Jak przekonwertowac otrzymany przez uart ciag ascii na liczbe hex. Tzn ktos np wpisze w terminalu 0xDA i chce zeby procesor zapisal ten odebrany ciag jako liczbe 218 do eeprom. Chodzi mi o sama funckje konwertujaca. Raczej chodzi ci o konwersje z hex na dziesiętnie. Musisz wykonać dzielenie...
Przepraszam za błędy w tekście "Maskowanie bitów". Poniżej poprawiona wersja. ---------------------------... BITÓW w pigułce. (Dla tych, którym sprawia trudność zrozumienie zagadnienia) PODSTAWY Liczby binarne - szybkie czytanie ich...
No, nie całkiem ... Dwójka to podstawa systemu binarnego, a o taki opiera się technika cyfrowa. Wszystko, co jest wielokrotnością dwójki łatwiej się przetwarza. W szczególności dotyczy to dzielenia. Dzielenie przez 2 to poprostu przesunięcie zawartości zmiennej (rejestru) o jeden bit w prawo. Dzielenie...
Na początek wyrzuć te dzielenia i po prostu skopiuj wymaskowaną zmienną Mm do portu B. przecież Mm zawiera bity - zera i jedynki, którymi chcesz wysterować diody. Konwersja z liczby binarnej na liczbę binarną przy użyciu dzielenia przez potęgi dwójki po prostu powala.
Finalnie po babraniu się w wolnych chwilach, udało mi się wreszcie porównać (przetestować) kilka algorytmów do konwersji zapisu binarnego do reprezentacji w kodzie BCD. Zrezygnowałem z jakiś własnych hacków i implementacji, ale skupiłem się na kilku popularnych metodach. Szczegóły można znaleźć w...
Aha Dziękuje za ogromny wkład w pomoc. Chwilowo zakończyłem wszelkie symulacje i wróciłem do swojego małego procka (ATmega328pb). Moduł SIM868 pobiera plik binarny z serwera do swojej pamięci. Mogę odczytywać jego dowolny wycinek jak i cały na raz (to akurat zbędne chyba, że chciałbym policzyć na...
Zainspirowany podcastami o historii komputerów (podcast #19 - Słowo o architekturze i słowniczek pojęć By lepiej zrozumieć zagadnienie pamięci, musimy najpierw poznać architekturę, a dokładniej to części składowe procesora. Nie będziemy zagłębiać się w tajniki najnowszych Ryzenów czy i9, ani...
W załączeniu moje biblioteki na '51 mnozenia, dzielenia, BCD na BIN, BIN na BCD. wszystko jest realizowane na tylu bajtach ile się zadeklaruje w zmiennej LCZYN. ; ; Procedury biblioteczne dla procesora 8031 ; ;------------------------------... zastosowania ponizszych procedur ;-----------------------------...
Kiedyś napisałem coś takiego ale w asmie i dla zwykłego '51 ; ; Program obrotomierza ; CZ5ms equ 0ec77h ;5ms dla 12MHz LCZYN equ 3 ;dlugosc czynnikow w bajtach KEY equ 6+8 ;R6 z banku 1-go, stan klawiatury OLDKEY equ 5+8 ;stary klawisz ILOSC_C equ 4+8 ;ilosc cylindrow silnika ; STATUS equ 20h CZAST3 equ 2...
Osobiscie polecam ASM, sam w nim pisze. Dzieki ASM dokladnie wiesz co sie dzieje w uC i masz pelna kontrole, zwlaszcza jesli chodzi o czasy wykonywanych instrukcji. Oczywiscie pisanie w ASM jest bardziej czasochlonne niz w jezykach wysokiego poziomu typu C, ale po dojsciu do wprawy, zgromadzeniu procedur...
Witajcie moi drodzy. Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części poznamy sterownik wyświetlacza LED MM5450, połączymy go z PIC18F2550 i napiszemy od 0 implementację ich komunikacji. Docelowo użyjemy MM5450 do wysterowania wyświetlacza LED 5 na...
proszę o pomoc w napisaniu prostego kalkulatora w c podaje to co napisałem kompilator proszę o pomoc. Proszę o pomoc w napisaniu poprawnego kodu niewiem jak poprawić go za każdym razem program po wykonaniu działania zamyka sie lecz nie wraca do głównego menu . Proszę o pomoc!!!!!!! oto treść zadania. Napisać...
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,...
1. Info o sofcie. °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°... -zupełnie nowa, moim zdaniem wygodniejsza struktura menu -zupełnie inna czcionka. Nigdy nie chciałem mieć zmienionej, ale ta mi się bardzo podoba. Wielkie dzięki dla plq -dzwonki zmienione na zupełnie nowe,...
Podaj gg to pogadamy. Albo wgraj inny soft podobny do tego co masz. Moze ten soft jest uszkodzony albo cos Dodano po 22 Mega soft do 3310 by mdawidm v. 2.12 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°... SPIS TREŚCI °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°...
Siemka tak jak w opisie szukam softu do 5510 z wymaganiami jak ponizej:) wiem ze da sie to zrobic do 5510 bo ten soft istnieje tylko do 3310:( czy moze wie ktos jak brzerobic taki soft aby pasował do 5510 nie znam sie na edycjach softów:( z góry dzięki za odpowiedzi:) a może ktoś napisał by taki soft??...
Tu pojawia sie moje pytanie, czy istnieje mozliwosc przekonwertowanie liczby binarnej na np. dziesietnej bez pomocy funkcji dodatkowych, czy idzie to zrobic np. przez printf?! Czy moze musze do kazdej konwersji zapisywac oddzielny algorytm. Jak najlepiej ugryzc to zadanie! Nie da się tego zrobić...
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...
Napisz czy to mają być segmenty z diód led czy z wskaźników 14/16 segmentowych. Jeśli na diodach to ja to widze tak: - pamięć eprom wyjścia danych sterują liniami (8lini) - młodszą częścią adresu pamięci steruje licznik binarny (może być o ograniczonej liczbie stanów w zależności ile ma być kolumn)...
zamiast dzielenia przez 128 mozesz zastosowac przesuwanie bitowe o 7 pozycji w prawo - nigdy nie wiadomo czy kompilator nie zrobil z twojego dzielenia jakiejs przepotwornej petli. pozatym - jesli dobrze widze - to konwertujesz swoja wartosc na kod binarny? jesli tak, to mozna to zrobic jeszcze optymalniej,...
Jeśli chcesz to zrobić bez instrukcji przypisania, to używasz tzw. transformacji "worker-wrapper" (po polsku pracodawca-pracownik? :P) Dodatkowym plusem jest fakt, że tak wyrażona rekursja jest rekursją ogonową (wywołanie rekurencyjne jest ostatnią operacją wykonywaną w funkcji, stąd rekursję prosto...
Już Ci pisałem, że operacje na wielomianach to nie to samo, co operacje na liczbach, które te wielomiany reprezentują. W(x) mod P(x) to reszta z dzielenia W(x) przez P(x), nie ważne czy w GF(2) czy w R. W GF(2) + i - są równoważne i wykonywane jako XOR na bitach, stąd W(x) + P(x) dla reprezentacji...
Też zastanawiałam się nad szukaniem nie-binarnym, tym bardziej że jeśli tablica jets posortowana to te same wartości muszą być obok. Mam jednak do zrobienia zadanie i myślę że chodziło o całkowicie binarny search. Co masz na myśli przez znalezienie dolnej i górnej granicy? Założmy, że moja tablica...
Witam wszystkich, Mam do zrobienia test teoretyczny z sieci komputerowych. Proszę o sprawdzenie i korektę ewentualnie popełnionych błędów. Gwiazdkami zaznaczyłem swoje odpowiedzi: 1. Zaznacz zdania prawdziwe: Adres przydzielony przez serwer DHCP nie może zostać odnowiony *** Wewnętrzny...
Witam, Zrealizowałem przerywacz podwyższający napięcie z 5 V do 10 V, który jest sterowany atmegą a program napisałem w języku C, lecz mam problem ze stabilizacją napięcia wyjściowego przy zmianach obciążenia. Napięcie przy dużych zmianach obciążenia potrafi wzrosnąć na chwile nawet o 10 V. Sterowanie...
Jednym z pierwszych projektów, które zrealizowałem mając 9-10 lat było pudełko z kilkoma LEDami, przełącznikami i potencjometrem - taka tam wprawka w lutowanie. Drugim była migająca strzałka LED z kitu bodaj Jabela. Pierwszym, który zepsułem lutownicą transformatorową (której nie polecam) była elektroniczna...
Nie... dzielenie wymaga więcej cykli procesora... (zależy też jaki sie używa procesora ale zawsze dzielenie jest bardziej cyklochłonne od przesówania binarnego) jeśli to procesor ośmio bitowy a program ma być w assemblerze to nawet nietrzeba takich operacji wykonywać gdyż można odrazu podzielić wyraz...
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 =...
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...
Wersja "pro" :) int szybkie_mnozenie(int a, int b) { int c=0; while(b) { if(b%2) c+=a; a*=2; b/=2; } return (c); } Sprawa jest elementarna. Wiadomo, że mnożenie liczb kosztuje sporo czasu procesora. Zatem ktoś wymyślił algorytm zamieniający "kosztowne" zwykłe mnożenie...
Wolisz rybę czy wędkę? Jeśli to drugie, to czytaj dalej. Najprostszym sposobem konwersji dowolnie długiej liczby binarnej do pisemnej postaci jest ciągłe dzielenie jej przez 2, a wynik (ascii string) jest zwiększany o odpowiednią potęgę dwójki jeśli dzielenie zwróciło resztę. Zmienne które potrzeba:...
Niejasno piszesz. Zacznij może od podstaw, bo mam wrażenie, że nie rozumiesz zadania, które rozwiązujesz i, że rozwiązanie to już zostało podane wraz z algorytmem w poprzednich postach. Co ten program ma właściwie robić ? Wpisać po prostu liczby do rejestrów ? MOV R1,#2 MOV R2,#7 MOV R3,#1 O...
Oczywiście że można użyć Atmega8 bo kosztuje praktycznie tyle samo, a wszystkie elementy w wersji przewlekanej można upchać na płytce wielkości wyświetlacza. I pozbywamy się błędu pomiarowego, miniaturyzacji. Ten miernik to taka ciekawostka, tak jak napisałem, co można upchać w jeden mały Attiny13. Po...
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...
Wzór jest bardzo dobry, tylko ilość uśrednień dostosuj do arytmetyki binarnej. Czyli np. 16 próbek, każda po 1/16. Zresztą zamiast dzielenia, na którym tracisz bity, lepiej wynik przemnożyć, uśredniając liczbę o kilka bitów dłuższą, a następnie podzielić całą średnią. W ten sposób unikasz problemu dzielenia...
Zawsze piszę programy tak aby zapełniały całą dostępną pamięć w procesorze (bo czemu mam nie korzystać z całej pamięci skoro za nią zapłaciłem). Dziwne podejście. A jak za jakiś czas poddasz kod optymalizacji, to będziesz wymyślał nowe funkcje by znów zapełnić pamięć? Tak tylko pytam, ogólnie...
Oj, 7490 jest raczej do dzielenia tylko przez 10, choć można uzyskać mniej w taki sposób, żeby się resetował po dojściu do jakiegoś stanu zliczania - nie pamiętam, czy ma dwa wejścia do resetowania, tak jak 7493; oba te liczniku dają wynik 4-bitowy binarny. CD4017 daje '1' krążącą po 10 wyjściach, można...
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...
Użyłbym raczej dzielenia przez 10 i dodawania, jak w tym przykładzie: (tu gość zamienia 16 bitową liczbę binarną na 4 liczby BCD). Ale własna praca cieszy najbardziej :wink: Pozdrawiam.
Masz napisać procedury mnożenia liczb: 1 bajtowej przez 1 bajtową (8x8) wynik będzie 16 bitowy (2 bajty) 2 bajtowej przez 1 bajtową (16x8) wynik będzie 24 bitowy 3 bajty 2 bajtowej przez 2 bajtową (16x16) wynik będzie 32 bitowy (4 bajty) Procedura przebiega tak w kodzie naturalnym binarnym: 1....
Ok, można podać jakieś cóś na nogę AREF, co będzie miało stabilną wartość w woltach, i może być nawet < 5V, co troszeczkę poprawi rozdzielczość, ale jak napięcie na LM-e je przekroczy, to nie poczytamy o niczym ciekawym z przetwornika A/D... Stąd w sumie mój pomysł x10, co wcale nie jest sztywne,...
Hey !! hehe nieźle Panowie :) Co do kalkulatora to jakoś na pierwszy rzut, jako człowiek, który nie zna się w ogóle na elektronice, to dosyć zawiły problem, zacznij od jakichś dzwonków, alarmów, liczników itp. :) No ale poważnie, tak jak Xitami pisał jest duuużo dróg do zrealizowania tego tematu,...
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...
Jeżeli między znakami masz jedną kolumnę odstępu, to na pierwszej stronie będą dwie, a nie jedna kolumna z drugiego znaku, no ale to szczegół ;) Nie wiem, jak masz zapisaną "czcionkę". Jak na moje oko, to może być po bajcie na każdą linię i takich linii 7, jedna po drugiej, potem następny znak itd....
Witam. Kiedyś trafiłem na szybki slgorytm do konwersji binarnej na bcd, ale nie moge teraz go znaleźć jak jest potrzebny :/. Polegał na dodawaniu 6 do półbajtów i coś się z tym dalej robiło. Wiem, że opis tego co szukam jest marny, ale może komuś z was coś to mówi i podał by jakiś link bądź pseudokod....
Napisać program wykonujący przynajmniej jedno z działań (dodawanie, odejmowanie, mnożenie lub dzielenie) na liczbach w systemie dwójkowym. Użyj do reprezentacji liczb binarnych tablic długości 10. Użytkownik podaje liczby po uruchomieniu programu (liczby maksymalnie 10-cyfrowe). Program wypisuje te liczby...
Witam Mam uklad na ATmega8 , z wyswietlaczem LCD itd. i wykorzystuje wejscia ADC kontrolera do pomiaru napiecia (przynajmniej na wejsciu ADC). Co wazne, pisze w asemblerze, a trafilem na problem -byc moze banalny ale juz troche sie mecze, tez troche szukalem i ... Czy ktos moze wyjasnic w jakis...
#include<stdio.h> #include<... <math.h> void main() { FILE *we, *wy; //deklaracja uchwytow do plikow int i, licznik; int tablica_ASCII[200]; //deklaracja tablicy w znakow ASCII char znak; char haslo[200]; ...
Zeby sprawdzic lilczbe dziesietna czy jest podzielna przez 3 lub 7 dzielisz ja modulo. Modulo to reszta z dzielenia liczy x przez liczbe z. czyli jelsi wyjdzie 0 to znaczy ze dzieli sie bez reszty, czyli jest podzielna. Kod binarny latwo zamienisz sobie na liczbe decymalna. W c++ najwieksza zmienna jest...
Ostatnio mialem sprawdzian teoretyczny (o.O) z programowania. Nasza facetka jest nieogarnieta.. wogole szkoda gadac... Ale do sedna, na sprawdzianie padlo kilka dziwnie sformulowanych pytan, chcialbym aby doswiadczeni uzytkownicy podali mi na nie prawidlowe odpowiedzi. Do wyboru prawda lub falsz: 1.Kompilator...
Dla początkujących Powiedzmy, że masz zmienną wejściową x typu longint: Konwersja szesnastkowa: 1. zapisujesz x w zmiennej pomocniczej xp 2. wydzielasz 4 najniższe bity xp (and 15) i tak powstałą liczbą adresujesz sobie zmienną tekstową Hx zdefiniowaną jak niżej: { const hx:string='01234546789...
witam Mam pewien problem. ds2415 jest RTC opartym o 32-bitowy licznik binarny inkrementujacy sie co sekunde. Ja chce napisac kod w asemblerze na mk rodziny 51 aby układ pokazywal na wyswietlaczu godzine, minuty,sec oraz ewentualnie dni, miesiace i rok. Probowalem samemu napisac program ale stanalem...
Witam Na czwartek muszę przygotować listingi programów napisanych w asemblerze które wykonają poniższe działania: 1. Dane są liczby: A=0F1h, B=00011111b. Obliczyć binarnie A+B, A-B, B-A. Podać wynik w postaci binarnej i szesnastkowej. 2. Napisać program mnożenia x4 liczby umieszczonej w rejestrze...
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...)
kedzi1 - ten sposób też zadziała, ale łamie zasady tzw. nakładania się wskaźników. Poczytaj o "pointer aliasing". Kod z unią może jest dłuższy, ale przynajmniej jasny i dla kompilatora, i dla programisty. snow - Przyjrzyj się dokładnie przykładowi z tabelki, którą przytoczyłeś na początku tematu....
Hehe, te zera to mógłbyś powyrzucać z arytmetyki ;) i tam, gdzie jest odejmowanie, to zrobić dekrementację, a nie inkrementację o przeciwną (x+=0-delta.y -> x-=delta.y). Przy okazji nazwij inaczej zmienne x i y tak, abyś mógł użyć with'a na delcie. Wykorzystuj też stałe i unikaj dzielenia! Jesli masz...
Musisz wykonać konwersję wartości binarnej odczytanej z ADC na cyfry dziesiętne. Użyj dzielenia przez dziesięć (DIV). Pozdrawiam, Dr.Vee
Hmm. Co oznacza np. 1<<0? Również dopiero poznaję c i do tej pory myślałem że >> i << oznacza przesuwanie liczby zawartej w zmiennej(mnożenie i dzielenie przez dwa). Czy dobrze rozumiem pierwszy przykład? (1<<2)|(1<<1) == 00000100 | 00000010 == 00000110 ?? Pierwsza...
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.
No więc, tak jak obiecałem jakiś czas temu postaram się przybliżyć i wytłumaczyć kwestię programowej obsługi popularnego układu RTC – PCF8583. Układ ten ma zarówno zwolenników jak i przeciwników, a jedni i drudzy mają swoje racje. Są układy prostsze w obsłudze programowej, posiadające wszystkie...
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem...
Witam. Przyłączę się- bo wczoraj zacząłem się bawić z czyms podobnym. Impulsator też z AVT- 24 impulsy na obrót i przycisk. Mocno podejrzewam że taki sam. I nie udało mi się zaobserwować na oscyloskopie kilku przejść sygnału przy zmianie pozycji. Co prawda dodałem 10nF równolegle do oporników...
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...
heh postaram się odpowiedzieć na pare pytań. Też dziś pisałem i uważam że był dosyć trudny. nie wiem czy zdam ale napiszę wam moje odpowiedzi z uzasadnieniem. 1 c - myślałem nad transceiverem, ale nie bardzo mi to pasowało, z głupoty dałem modem 2 d - kompletnie nie pamiętałem jak wygląda symbol...
heh postaram się odpowiedzieć na pare pytań. Też dziś pisałem i uważam że był dosyć trudny. nie wiem czy zdam ale napiszę wam moje odpowiedzi z uzasadnieniem. 1 c - myślałem nad transceiverem, ale nie bardzo mi to pasowało, z głupoty dałem modem 2 d - kompletnie nie pamiętałem jak wygląda symbol...
Witam! Jak w temacie...czyli chciałbym uprzejmie prosić osoby, które posiadają większą wiedzę ode mnie o sprawdzenie poprawności kodu w Bascomie, jak i schematu. Opierając się na kodzie źródłowym pewnego zegarka binarnego, skonstruowanego przez jednego z forumowiczów( The century bit (bit...
Prawie tak, jak myślisz, z tym że nie masz co zamienić liczby na binarną, bo już taką masz w komputerze. ;) Wyznacz resztę z dzielenia przez 2, dodaj ją do sumy, wykonaj przesunięcie bitowe w prawo o jeden. I tak 32 razy. Teraz zapisz to sobie w kodzie.
Firma Murrata ogłosiła wypuszczenie na rynek serii przetwornic DC-DC - RBQ o mocy 400W i wyjściu izolowanym na poziomie 12V. Model RBQ-12/33-D48 osiąga prawdopodobnie najwyższą sprawność wśród urządzeń przemysłowych zgodnych ze standardem DOSA i rozmiarach quater bridge (58,42mm x 36,8mm), dochodzącą...
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...
Podziel przez 32 (jakimś licznikiem binarnym) i pomnóż razy 25 (PLL np. na 74HC4046 + 74HC390). Przy okazji – 10 MHz to za dużo dla zwykłych układów serii 4000 (nada się seria 74HC, w tym odpowiedniki serii 4000 – 74HC4xxxx). Może trochę rozwinę do czego potrzebny jest podział. Jestem...
Arash Moradi i Mohamad Sawan z Politechniki w Montrealu w Kanadzie, opowiadają w poniższym artykule, o swoim nowym projekcie, oscylatora sterowanego napięciowo (VCO) o zmniejszonym poborze mocy. Układ ten dedykowany jest do aplikacji w implantach medycznych, gdzie miałby zapewnić możliwość modulacji...
Rozważam jak na małych architekturach fajnie mnożyć integery przez współczynniki jak 1.3, 1.5 ... oraz 0.9 , 0.7 ... Cel: w wielu zastosowaniach "na styku z człowiekiem' trzeba się dostosować do logarytmicznego naszego postrzegania rzeczywistości. Czyli postrzegane jako równe skoki głośności,...
Sensu to nie ma żadnego. Dla każdego 8-bitowca jest to zabójstwo, bo każda operacja na danych czy to BCD, czy binarnych 64-bitowych zajmie wieki (zwłaszcza mnożenie i dzielenie). Są algorytmy resztowe umożliwiające unikanie dzielenia przy konwersji bin->BCD i całkiem zgrabnie to wychodzi (nawet na głupiutkim...
Warto jeszcze uwzględnić problem precyzji - 32 bitowy int ma 32 bity, a 32-bitowy float - tylko 24; z kolei sprzętowe obliczenia na binary64 mają z popularnych mikroprocesorów na razie tylko nowsze wersje Cortex-M7. Jeśli mamy algorytm ze zmiennymi o dużej dynamice i jednostkę zmiennopozycyjną - to...
Ten zapis ma dość niewiele wspólnego z wartością liczbową wyrażoną w bitach. Setki osobno i dziesiątki osobno? Zdaje sobie z tego sprawe, moze wytlumacze o co chodzi. Wartosc ktora jest zapisywana w zmiennej typu uint16_t musi zostac przeslana przec CAN, aktualnie zapisuje 8 bitow w jednej zmiennej...
Dzień dobry, zakupiłem do domu alarm Satela CA5, opierając się opinie, że jest prosty w obsłudze. Jego konfiguracja mnie jednak przerosła. Wszystko połączyłem według schematu i działa, do menu serwisowego wejść potrafię, ale nic nie mogę w nim ustawić. Rozumiem system binarny i szesnastkowy, ale nie...
Ja już wcześniej pisałem, że nie programuję w C, więc nie polecę też niczego, niestety. O bibliotekach wspomniał coś (at)ble___ ale nie miałem okazji skorzystac z porady i zapoznac się z jakąś, choćby przez analizę kodu. Nie wiem jak to działa i z czym to sie je. Mam nadzieję, żę nie bedzie tak, że...