Dodawanie liczb binarnych nie jest trudne. Obowiązują zasady: 0+0=0 0+1=1 1+0=1 1+1=0 i 1 do przeniesienia w lewo. Ot i cała filozofia dodawania. Dane z pliku wejściowego po otwarciu go wczytujesz linia po linii do zmiennej i dodajesz. Wynik zapisujesz w pliku. Przydatne: assign() read() reset() write() rewrite() close() Myślę, że powinno pomóc.
witam wszystkich, potrzebuje możliwie najlżejszego algorytmu konwersji liczb dziesiątkowych na binarne, lub sposobu na dodawanie liczb binarnych
Zrobiłem taki dodawacz binarny. Nie mam pojęcia czy to jest dobrze, czy też źle - z pewnością natomiast nie najlepiej. aha - "overflow" - tak sobie nazwałem to co przechodzi z poprzedniej kolumny (1+1=0, 1 przechodzi) "out" - wyjście, np na leda. 1/H -świeć, 0/L - nie świeć A, B - cyfra (0,1) w danej kolumnie liczyb A lub B I oto moje pytanie: czy teoretycznie...
To tak wychodzi uzupełnienie do dwóch, odwraca się liczbę binarną i dodaje 1 i wychodzi liczba 12 bitowa i ją trzeba przekonwertować na dziesiętną i podzielić przez 10 i wychodzi temperatura. Dodano po 3 Ten bit 31 może nie jest wyznacznikiem odnośnie temperatury ujemnej a dodatniej, Może trzeba wziąć pod uwagę bit pierwszy najstarszy z 12 bitów danych...
Witam potrzebny program w C++ ktory dodaje i odejmuje liczby binarne w kodzie U2 albo moze ktos pomoc.Jakas podpowiedz. Czy musze do tego urzywac tablic ??
Po pierwsze nie u1 i u2 tylko uz1 i uz2 Masz błędy w tych zapisach: Przy zapisie w uz1 negujemy moduł czyli powinno być: 1.001001001 A w uz2 do zanegowanego modułu dodajemy 1 czyli powinno być: 1.001001010 Pzd.
Liczba 0,01 ma nieskończone rozwinięcie binarne, więc przy wielokrotnym dodawaniu błędy zaokrągleń w pewnym momencie się ujawniają. Należy unikać takich działań. Bezpiecznie jest dodawać liczby całkowite, a wynik ewentualnie dzielić przez 100. A najlepiej tak zorganizować obliczenia, żeby wystarczał licznik całkowitoliczbowy, a ułamki wprowadzać do...
Przyłączam się do prośby. Czy jest w ogóle możliwe zrobienie takowego który dodaje/ odejmuje/ dzieli/ mnoży liczby binarne? Ew. zmiana na dziesiętne może być dodatkiem :) Głównie mi chodzi o operacje na liczbach binarnych. Drewniany już widziałem :)
Zastąp mnożenie wielokrotnym sumowaniem. Ma to wyglądać dokładnie jak mnożenie w słupku na kartce tyle że na liczbach binarnych tj: jeśli na danej pozycji w drugiej liczbie jest 1 to musisz wykonać dodawanie. oczywiście pierwsza liczba musi być proporcjonalnie do bitu przesunięta w lewo. 1101 x 1010 --------------- 1 x 1100 0 x ---- 1 x 1100 0 x -----...
Witam Mam rozwiązanie twojego problemu ale w osobnych plikach. Jest tam dodawanie, odejmowanie, mnożenie i dzilenie we wszystkich kodach (NKB, U1, U2, BDC). Musisz przejrzeć te programy i wybrać odpowiednie procedury.
Jeżeli odczytujesz dane binarnie to można sobie darować to odejmowanie wartości 32. Tyle że wszystkie obrazki trzeba będzie jeszcze raz zakodować na kompie bez dodawania tej liczby 32.
Wszystkie działania "pod kreską" na każdym, dowolnym systemie liczbowym, wyglądają IDENTYCZNIE! Trzeba tylko pamiętać, że "przeniesienia" odbywają się od określonej liczby (dla systemu dziesiętnego jest to 10 - "zero i 1 dalej", dla dwójkowego - 2=10b - "zero i 1 dalej").
Operacje arytmetyczne i logiczne w procesorze wykonuje jednostka arytmetyczno-logiczna (ALU). Generalnie ma dwa wejścia i jedno wyjście (np 32bitowe dla procesora 32b) i współpracuje z rejestrami procesora o takiej szerokości. Dodatkowo ma wejście i wyjście do przerzutnika przeniesienia, przerzutniki flag (informacja o przepełnieniu w ostatniej operacji)...
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...
Właściwie to wystarczą dwie liczby i samo dodawanie lub odejmowanie ich. Niby proste a jednak to dla mnie kłopot
9(system dziesiętny)=1001(system binarny) 18(system dziesiętny)=10010(system binarny)
Masz 2 liczby: A1A0 i B1B0 (gdzie A i B mogą przyjmować stany 0 lub 1), mnożysz je jak w szkole A1A0*B1B0=A1*B0+A0*B0+2*(A1*B1+A0*B1) to razy 2 to jest to przesunięcie o jedną pozycję w lewo przy liczeniu słupków. Poszczególne mnożenia robisz bramkami AND. Wyniki mnożeń cząstkowych dodajesz na sumatorze, mnożenie przez 2 w systemie binarnym, uzyskujesz...
Jak zrealizować dzielenie dwóch liczb binarnych stałoprzecinkowych w VHDL? Byłbym wdzięczny za wszelkie linki lub tytuły książek w których mógłbym coś znaleźć na temat programowej realizacji operacji arytmetycznych (dodawanie, odejmowanie, mnożenie, dzielenie, potęgowanie, pierwiastkowanie)
zerujesz zmienną przepisujesz pierwszą liczbę bez przesunięcia dodajesz binarnie (or) drugą z przesunięciem 16 itd...
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, od układów logicznych do procków (tych małych '51 i dużych...
Ogólnie to się robi tak, że kolejno wysuwamy bity od najstarszego z liczby BIN i wsuwamy do najniższego rejestrów BCD (od najniższego bitu najniższej cyfry). Po każdym przesunięciu sprawdzamy każdą czwórkę bitów liczby BCD. Jeżeli w danej czwórce jest zapisana liczba >=5 to do danej czwórki dodajemy 3 SETKI DZIEŚ JEDN BINARNIE ;Start: 0000 0000 0000...
Stworzyłem taki schemat (urządzenie ma dodawać dwie zapisane binarnie liczby): http://obrazki.elektroda.pl/7773205700_1... (w załączniku w formacie .pdf). Pytanie: Czy wszystko jest OK i czy będzie działać zgodnie z założeniami?
No to w takim układzie zerujesz sobie zmienną i w pętli dla każdej cyfry od lewej do prawej wykonujesz: mnożenie przez 10, dodawanie wartości cyfry... Jedyne czego w takim układzie potrzebujesz, to funkcji do mnożenia i dodawania liczb dowolnej długości.. do konwersji w przeciwną stronę liczbę dzieli się przez 10(lub przez inną podstawę) i resztę dopisuje...
Bierzesz po jednym bicie z każdej liczby, dodajesz i wpisujesz do wyniku, potem bierzesz następny bit i tak w kółko.
odejmowanie dwu liczb całkowitych nieujemnych A-B można zastąpić dodawaniem do A uzupełnienie dwojkowego liczby B.Uzupełnienie dwójkowe liczby B otrzymujemy negując bity słowa B i dodając jedynke do reprezentowanej prze nie liczby... w skrócie kod U2 służy do odejmowania binarnego... w kodzie U2 zachodzi następująca właściwośc: jeżeli zanegować wszystkie...
dzielenie w bascomie zjada bardzo dużo zasobów... zamień liczbę na hexy albo binarnie i dodawaj albo odejmuj, [url=http://edu.i-lo.tarnow.pl/inf/alg/0... binarne to w zasadize odejmowanie z przesunięciem...
Nic, po prostu dodawaj. Zakładając ośmio bitową średnią ze znakiem, zakresem jest -128 do +127 Liczba zero prezentuje się jako 00000000, jedynka to 00000001, -1 to 11111111, -2 to 11111110 Dodając -1 do liczby 0 wychodzi binarnie 11111111. Sprawdzając najstarszy bit - jeśli jest ustawiony - to oznacza że liczba jest ujemna, a żeby obliczyć jej bezwzględną...
Co to jest półsumator? Półsumator (half adder) jest jednym z podstawowych elementów cyfrowych układów logicznych, który jest używany do wykonywania binarnych operacji dodawania. Półsumator przyjmuje na wejściu dwie liczby binarne (dwie liczby jednobitowe) i generuje dwa wyniki: sumę (S) i przeniesienie (C - od ang. carry). Półsumator nie uwzględnia...
Kolego z tego co zaprezentowałes nic nie będzie, wystarczy ten program skompilować i popatrzeć na listę błedów. Brak w nim opisu podprogramów (wszystkie nazwy po lcall). Nie rozumiesz tez do konca liczby dwóbajtowe. Dwa bajty=16 bitów=65535 i taka może byc najwieksza liczba zapisana na dwóch bajtach w zapisie binarnym. Ale mozna sobie równierz zorganizowac...
Analizujesz cały ciąg znak po znaku. Jeśli napotkasz 1 lub 0 - rozpoczynasz zapis liczby (do osobnej zmiennej) dokonując za każdym razem przesunięcia bitowego w lewo i dodania odnalezionej cyfry. Gdy znajdziesz przecinek rozpoczynasz zapisywanie części dziesiętnej (po przecinku nalezy podnosić do kolejnych potęg 1/2^-x zaczynając od -1). Po znalezieniu...
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? Cześć, ENIAC (Electronic Numerical Integrator and Computer) był jednym z pierwszych komputerów elektronicznych i wykorzystywał dziesiętny system liczbowy...
Dziękuję! Wydaje się, że wszystkie "dobre" binaria zaczynają się od jakiejś sekcji bootloadera: 00000000 62 65 6e 6f 04 00 00 00 01 00 00 00 00 00 00 00 |beno............| 00000010 c0 41 00 00 02 26 20 18 fe 09 96 08 5e b8 c2 00 |.A...& .....^...| 00000020 00 00 41 80 00 00 00 40 00 01 c0 00 ab 4f b9 58 |..A....(at).....O.X| 00000030 18 14 0f 00...
czesc zaczynam programowac w Microsoft Visual Studio.net - probuje zrobic prosty kalkulator narazie dodaje mnozy i takie tam ... chcialbym tez zeby zamienial liczby dziesietne na binarne ... no i szczerze nie mam pojecia jak to zrobic ( wiem jak to sie robi na kartce, ale nie potrafie tego przepisac do programu ) poprosilbym o wyjasnienia nie tylko...
echo -ne "\xEF\x02\x01\x01\x03\x00\xAA\x01\x... > /dev/ttyS1 Bo to nie są liczby hex, tylko forma zapisu jest hex, liczba jest binarna. Dlatego dodajesz -e do echo. Swoja drogą rzeczywiście nie ma "\x" w manualu od echo. aron655: przez port wysyłasz znaki, najczęściej 8-bitowe, sposób zapisu może być tylko bitowy.
Jeżeli Ci to pomoże to mam kod który po naciśnięciu przycisku dodaje wartość do licznika i wyświetla stan licznika binarnie na diodach. #include <io.h> #include <util/delay.h>//biblioteka funkcji opóźniającej unsigned char licznik;//deklaracja zmiennej int main(void){ DDRB = 0xff;//port b jako wyjście PORTB = 0xff;//port b w...
Masz w tej zmiennej liczbę zapisaną w formacie binarnym, czy BCD? Jeśli w BCD to itoa nie zadziała, ale wtedy po prostu maskujesz tetrady i dodajesz '0'.
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:...
załóżmy, że masz tablicę z liczbą wejściową, w której zamieniłeś kody ASCII cyfr na liczby z przedziału 0-35 liczba wejściowa ma bazę b1, baza wyjściowa to b2 Liczba wyjściowa to narazie tablica skłądająca się z samych zer, długość, no hmmm, odpowiednia(!) :D , ale to już osobny problem (w sumie to się chyba z jakiejś logarytmicznej zależności da wyliczyć)....
czy jest możliwe zbudowanie na samych przekaźnikach kalkulatora wykonującego cztery podstawowe działania (dodaj, odejmij, pomnóż, podziel). Ile potrzeba przekaźników, żeby obsługiwał pięciocyfrowy wynik? Hahaha, no nieźle. czy jest możliwe zbudowanie na samych przekaźnikach kalkulatora wykonującego cztery podstawowe działania (dodaj, odejmij, pomnóż,...
mała poprawka 8 bitowe liczby ze znakiem mają zakres -128..127, binarnie "1000000" równe jest -128 ogólnie zmiana znaku liczby: zamieniamy zera na jedynki i odwrotnie np.: xor 255 i dodajemy jeden, działa to w obie strony
Używasz na część ułamkową 4 cyfry, czyli wystarczy użyć 4 warunki dla każdego bitu, dodając do siebie te cyfry. int ulamek=0 if (bajt&1<<3) { ulamek=ulamek+5000 } if (bajt&1<<2) { ulamek=ulamek+2500 } if (bajt&1<<1) { ulamek=ulamek+1250 } if (bajt&1) {...
Witam, aktualnie na pracowni wałkujemy DSM-51 i jest dla mnie sporo niewiadomych i prosiłbym o wyjaśnienie/pomoc. Do rzeczy, pierwsza sprawa; - sterowanie diodą i brzęczykiem, korzystałem z poniższego kodu: LEDEQUP1.7 BUZZER EQU P1.7 LJMPSTART ORG100H START: LOOP: CPLLED CPLBUZZER MOVA,#10;czekaj czas 10*100ms=1s LCALL DELAY_100MS LJMPLOOP Opis: definicja...
Czego konkretnie nie rozumiesz, pytaj ! Dowiedz się u prowadzącego: - jaki ma być zakres dodawanych liczb - jak mają być wprowadzane dane wejściowe (czy obie liczby z klawiatury) - jak mają być wyświetlane wyniki (dziesiętnie czy szesnastkowo)
Binarnie 4, to 00000100 Negujesz wszystkie bity: 11111011 Dodajesz jedynkę: 11111100 I masz liczbe -4 w kodzie U2.
Rzeczywiście nijak ma się ten rysunek do mojego problemu... Chyba raczej już wiem o co mi chodzi, nakierowałeś mnie. Potrzebuję skonstruować sumator 3 liczb 2-bitowych (składający się z dwóch bitów). A to już raczej ogromna różnica. Na wyjściu muszę mieć sumę i przeniesienie (Carry out). No właśnie i tutaj leży mój problem. Tak więc schemat powinien...
Zawsze zamiast dzielić można odejmować np na początek 10000 licząc ile razy to zrobisz zanim wynik będzie ujemny wtedy liczba operacji odejmowania -1 to liczba dziesiątek tysięcy. Dodajesz 10000 żeby wynik był dodatni i zaczynasz odejmować 1000 aż będzie ujemna dodajesz 1000 i odejmujesz 100 itd aż na końcu dodasz 10 a reszta będzie jednostkami . Na...
Użyłbym raczej dzielenia przez 10 i dodawania, jak w tym przykładzie: http://www.8052.com/codelib/bcd.asm (tu gość zamienia 16 bitową liczbę binarną na 4 liczby BCD). Ale własna praca cieszy najbardziej :wink: Pozdrawiam.
Witam Muszę napisać kalkulator w C# który będzie dodawał bądz odejmował 2 liczby w kodzie U2. Wartości wejsciowe mają być podawane w DEC.. przez printf maja byc wyswietlone jako liczby w kodzie U2.Nastepnie wynik dzialania(odejmowanie lub dodawanie) ma byc również wyswtietlony w U2. Moje pytanie to jak zemienić wprowadzoną liczbę w dec na U2? Wiem,...
Nie mogę bo to komercyjny kod. Po prostu musisz wysłać jakoś plik do Arduino. A tam już sobie odpowiedni bajt znajdziesz. A co to za problem przetworzyć liczbe dziesiętną na binarną? Bierzesz ostatnią cyfre i sprawdzasz jaka ona jest. A potem dodajesz tyle samo do zera. Z kolejnymi liczbami robisz to samo tylko że z kolejnymi potęgami liczby 10. To...
Jeśli na wejściu ma być 1Hz, to do przełączania AM/PM trzeba to podzielić przez 86400, i ostatni podział musi być przez 2, żeby czasy '0' i '1' były równe. 4059 może zliczać do 21327, więc licznik binarny co najmniej 3-bitowy. 4059 może sterować TTL, ale jeśli wygodnie jest zastosować np. zasilanie 12V, to wypada użyć licznika binarnego z serii CMOS...
Wczytujesz stringa, analizujesz znak po znaku. od '0'-'9' odejmujesz '0' i dostajesz liczbę, a od 'A'-'F' odejmujesz 'A' dodajesz 10 i dostajesz liczbę. To się nadaje w sam raz na funkcję HexCharToInt ;) (oczywiście do napisania). Potem identycznie jak w pozostałych kodach - potęga, mnożenie, dodawanie itd..
Na przykład drzewo binarne. W każdym wierzchołku kluczem jest wartość liczby, dodatkowo przechowujesz liczbę wystąpień danej liczby plus sumę liczby wystąpień wszystkich liczb w poddrzewach. W ten sposób dodając liczbę jednocześnie wyszukasz ilość wystąpień liczb od niej mniejszych. Po dodaniu węzła pozostaje tylko uaktualnienie wartości przechowywanych...
W oparciu o to: http://www.elektroda.pl/rtvforum/topic26... Napisałem to, co w załączniku. Tylko, że tam jest zamiana 3 bajtowej liczby na system dziesiętny (w każdej komórce pamięci liczba od 0 do 9). W zasadzie chodzi o to, żeby dodawać, albo nie (w zależności od ustawionego bitu w liczbie wejściowej) w systemie dziesiętnym wagi cyfr odpowiadających...
(at)Damian7546 obejrzyj jak zadziała to: Wpisuje do textboxa "textRej" wartość 10, i w labelu otrzymuje 16 .. a w hex to chyba A , co nie ? Widzę że nie rozumiesz jednej rzeczy, w bajcie liczba zapisana w postaci kodu. Możesz używać tą liczbę do dodawania, odejmowania, mnożenia oraz innych operacji, natomiast nie możesz jej zobaczyć bo nie ma jak....
Bardzo szybka konwersje mozna przeprowadzic przy pomocy tablicy. Zaledwie kilka cykli i masz gotowe. Oczywiscie taka tablica zajmuje flasha ale dla prockow z duza iloscia w/w to zadne obciazenie ;) Pozdro Dexter Rzeczywiście ... Prosty i fajny pomysł. Dla 8 bitowej liczby będe potrzebował 256 pozycji w tablicy, czy da się to jakoś zmniejszyć ??
jak wiesz jak sie zamienia liczby binarne na dziesietne to nie powinno byc problemu, wejscie wczytujesz do tablicy 1-wymiarowej, znak po znaku, potem w petli lecisz od konca (lub od poczatku jak kto woli), i jak w komorce jest 0 to do zmiennej wynik dodajesz 0 (czyli nic nie robisz), jak 1 to 2^n (gdzie n to odpowiednia potega wynikajaca z indeksu tablicy)
Witam, mam problem z zadaniem o treści: Zaprojektuj układ iteracyjny(kombinacyjny) zwiększający 4-bitową binarną liczbę naturalną o 6. Zupełnie nie rozumiem tych układów. Na obecną chwilę posiadam rozpisaną tabelę, w której widać jak wygląda liczba na wejsciu oraz po dodaniu 6 (np. 0000 -> 00110). Myślałem, aby wykorzystać sumator 4-bitowy i jakoś go...
No to ja bym zaczął projekt od określenia, ile dokładnie (co do jednego) bitów mają mieć te liczby. Każdy bit wpływa bardzo silnie na szybkość obliczeń. I oczywiście obliczenia na liczbach binarnych z konwersją na ciąg cyfr dziesiętnych sprytnym algorytmem, tak, by uniknąć dzielnych dłuższych niż 16 bitów (to akurat jest dość proste). Wtedy konwersja...
Trochę dziwny ten kod. Sekundy masz jako liczbę binarną, minuty i godziny masz w BCD, w dodatku rozpakowanym. Trochę to niewygodne. No i jeśli minuty i godziny mogą być w spakowanym BCD to robi się normalne dodawanie + korekcję z binarnego na BCD. Wtedy te wszystkie ify są niepotrzebne. No i wygodniej jest wykorzystać EPOCH i potem rozbić konwersję...
Może mógłby ktoś umieścić jakiś schemat, albo szkic jak te komparatory w tym wypadku wykorzystać, bo jak mówiłem, podejrzewałem, że komparatory będą potrzebne, tyle tylko, że nie wiem jak je podłączyć. Domyślam się, że żadne specjalne komparatory nie są potrzebne - w sensie, mogę kupić dowolny układ, który jest komparatorem (już tak mówię ogólnie)....
No to mi wytłumaczcie moją głupotę. ADCL- 8 bitów. ADCH- 8 bitów. Napiecie- uint16_t. Dodaję dwie zmienne ośmiobitowe do zmiennej uint16_t. Gdzie jest pułapka? Odczytałeś z przetwornika liczbę: 340, binarnie 0b1 0101 0100, hex 0x0154 ADCH=0x01, ADCL=0x54 ADCH+ADCL=0b0000 0001 + 0b0101 0100=0b0101 0101=0x0055= 85 != 340 Chyba, że jest to jakaś czarna...
Czyli jeśli wynik jest powyżej 9, to na drugim sumatorze trzeba dodać 6, a jak nie - to 0. Jeszcze trzeba jakoś wykrywać, że jest ponad 9 - chyba trzeba by użyć komparatora 7485 (lub można trzeci sumator w roli komparatora, albo zrobić na bramkach - wystarczą 4 NOR), i do porównania wziąć bit przeniesienia, oraz bity 8,4,2 - wartość liczby złożonej...
Przejrzałem naszą dyskusję i zajrzałem do dokumentacji Bascom i moim zdaniem masz w swoim programie problemy z arytmetyką i typami danych W Twoim programie ma miejsce następujący tok obliczeń: 1. pobierasz z ADC dwie liczby 8-bitowe w zakresie 0..255 każda (bez znaku): Pomiarl i Pomiarh 2. następnie dokonujesz podstawienia: Dodano po 3 I jeszcze jedno:...
Taki termometr można zrobić na ATTINY2323 :) A jeżeli chcesz zrobić konwersją prosto i łatwo do wytłumaczenia to robisz tak: Odejmujesz setki, dodając jednocześnie po jeden do innej zmiennej do czasu aż liczba będzie mniejsza niż 100 i otrzymujemy ilość setek. Tak samo liczymy diesiątki i zostaje nam liczba mniejsza niż 10, czyli liczba jedności. Koniec...
Informacja dotyczyła translacji kodu bin na BCD za pomocą odejmowania. Odejmowania? Przecież liczba BIN w postaci BCD jest od niej większa lub równa. Zatem trzeba posłużyć się dodawaniem. Skopiuje sam siebie z innego wątku: Dla liczb 8bitowych: Jeśli wartość na 4 młodszych bitach jest większa niż 9 to dodajemy do nich 6. Jeśli 4 starsze bity są większe...
Najpierw sprawdź jak pracuje w Laskomexe. Sama zworki możesz założyć i sprawdzić jak działa. Ten domofon będzie pracował w Laskomexe i będzie znacznie głośniej dzwonił. Ps. w tym co kupisz także zworki nie będą założone. Laskomex nie daje gwarancji, że będzie działał - a nawet więcej, daje gwarancję, że nie uzna gwarancji w przypadku, gdyby unifon...
zamiast debatowac sprawdz to na symulatorze <; w rzeczywistosci liczba 64336 i -1200 odpowiadaja dokladnie temu samemu zapisowi binarnemu (wiec i hexadecymalnemu) w pamieci dla slowa 16bitowego: 0xFB50. wszystkie problemy biora sie wlasnie z tego, ze liczbom binarnym na sile chce sie przypisac wartosci dziesietne, a to wlasnie tak sie konczy. wspaniala...
Oj nie tak, sympatyczny kolego ... ... my TU się dzielimy swoją wiedzą :D Zakładamy , że wynik nie przekroczy 16-tu bitów , czyli dziesiętnie 65535.Dane pobieramy w kolejności od jedności do dziesiątek tysięcy. 1)Wynik = 0 ;zerujemy iloczyn 2)Wynik = Wynik + cyfra ;dodajemy liczbę 8-mio bitową , do 16-to bitowej 3)jeśli to była ostatnia cyfra , to...
A możesz wytłumaczyć, jak przeszedłeś z 0.18 dec na 00000.0010 bin i dlaczego tak? Bo mam wrażenie, że nie zrozumiałeś pojęcia mantysy i wykładnika. Poza tym dokładna reprezentacja bitowa będzie zależała od przyjętej konwencji zapisu mantysy i wykładnika. 5 bitów mantysy oznacza zazwyczaj (w praktyce) 6 znaczących cyfr binarnych - bo najstarsza musi...
Witam. Mam problem z połączeniem dwóch programów w jeden, więc proszę o pomoc. Zależy mi aby uzyskać program z menu, z którego wybieram konwersje lub wyjście, jeśli ma być konwersja to podaje liczbę do konwersji i po otrzymaniu wyniku powracam do menu ale bez czyszczenia ekranu. Pierwszy program - przelicza podaną liczbę binarną na dziesiętną, o to...
Witam Twój problem sprowadza się do konwersji liczby w kodzie binarnym na kod BCD. Najprościej jest zapisywać najpierw zliczone wartośći w kodzie BCD. Konwersja wyglądać może w ten sposób, że odejmujesz najpierw dziesiątki tysięcy potem tysiące i setki i dziesiątki. zapisujesz liczbę w formacie upakowane BCD tzn w jednym bajcie 2 tetrady w sumie na...
Czyli liczbę z dziesiętnej muszę prze konwertować na binarna (Dec->Bin), a następnie podana przeze mnie funkcją o błędnej nazwie Dec2Bcd, binarną na Bcd? Z tego co rozumiem: liczbę np 13 rozkładam na dziesiątki i jedności: 1x10^1 + 3*10^0, następnie zamieniam 1 i 3 na postać binarną (puste miejsca uzupełniam zerami, aż do 4 bitów) 1= 0001 3= 0011...
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 R7 bez użycia instrukcji mul ab. 3. Napisać program...
S=sinus_wzorcowy <1600;-1600> - mieści sie na 12 bitach O=offset <0;1> co najmniej 819 wartości - 10 bitów P=przesuw 2300 - stała -> dowolne kodowanie ( niech to bedzie I32 ) W=wynik ma być całkowity ( niech to bedzie I32 ) 1. S zapisujemy w kodzie I32 ze znakiem ( signed long ) 2. O zapisujemy w kodzie I20Q12 ( tutaj potrzebne jest małe...
Coś nie gra: raz piszesz, że: linia CS SSD1289 jest podłączona do FMC_A0(PF0) a za chwilę: LCD_CS --> NE1(PD7) Domyślam się, że RS jest podpięte pod A0? Zakładając, że RS jest podpięte np. pod A16 -> wpisz sobie w kalkulatorze binarnie liczbę 0b1+15zer -> szesnastkowo to będzie 0x10000. Mnożysz x2 (pamięć 16bitowa) i masz 0x20000. Otrzymany offset dodajesz...
Jak na mój gust to troszkę za mało danych podałeś. Liczba ze znakiem to u Ciebie oznacza liczbę "znak-moduł" czy może w uzupełnieniu do dwóch? Ogólnie mozna powiedzieć, że liczby zmiennoprzecinkowe reprezentuje się w postaci N=M*B^E, gdzie: M - znacznik (mantysa), E - wykładnik (cecha), B - podstawa potęgi (podejrzewam, że 2). W oficjalnym popularnym...
Jestem laikiem w tym temacie i korzystam jedynie z notatek z wykładów, to jest część programu zamieniającego liczbe binarną na BCD
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 liczba jest mniejsza i ją bierze jako licznik pętli)....
Jeśli chodzi o AVR: Zapis stałoprzecinkowy robiony jest wg. dwóch formatów: 2^7, 2^6, 2^5, 2^4, 2^3, 2^2, 2^1, 2^0 w zapisie -1, 2^{-1}, 2^{-2}, 2^{-3}, 2^{-4}, 2^{-5}, 2^{-6}, 2^{-7} zapis 2^{-8}...2^{-15} teraz, aby załadować liczbę tego typu (czyli z przedziału (-1..1)) do rejestru najlepiej posłużyć się wbudowaną funkcją asemblera (w wersji v2):...
Witam. Mam zestaw jak w temacie i problem z nim związany. Panel wskazuje liczbę stanowisk 1-24. Liczba stanowisk jest odczytywana w kodzie BCD, na postawie sygnałów z 5 czujników położenia. Wstawiłam funkcję XFRB, która transferuje 5 bitów z czujników do komórki pamięci, z której wyświetlacz czyta nr. stanowiska. I wszystko jest dobrze, ale muszę mieć...
Cześć wydaje mi się że nie potrzebie komplikujesz sobie życie przerwaniami (przynajmniej do klawiatury) ustal jakieś główne założenie np.: podstawa to odczyt klawiatury a do przerwania daj LED8SEG niżej dodaje kod obsługi klawiatury 4x4 która zwraca 0xFF gdy żaden klawisz nie został wciśnięty korzystałem z tej procedury właśnie między innymi do kalkulatora...
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...
Hmm. Może zacznijmy od podstaw. To co wstukujesz w okienku terminala np: "36h" to nie jest liczba tylko ciąg trzech znaków i komputer wysyła kody ASCII tych znaków, a nie wartość 36h jako taką. Po odebraniu tych kodów musisz zamienić je na wartość binarną ( tak się akurat składa ze dla cyfr wystarczy odjąć 48 ) otrzymując poszczegulne cyfry. Następnie...
Witam. Na to pytanie odpowiedziałem na PW. Ale jak zgłaszasz taką prośbę to napisze tutaj. Zamiana BCD na HEX: ; w zmiennej tblicowej tab zapisane są kolejne cyfry BCD przy tym w komórce 1 jest najstarsza cyfra xor ax,ax xor dx,dx mov cx,.... ;tutaj wpisz ile masz cyfr Petla: mul 10 inc dx add ax,tab[dx] loop Petla ;w ax bedzie wynik w NKB...
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, że spowolni to prace całego urządzenia i nawet użytkownik...
mam tylko 1 pytanie, czy ignorowanie przeniesienia znaku bitu można jakos uzasadnić ? jest na to jakas zasada ? bo np. w przykładzie: 10111 10111+ 101110= przenosimy bit poza najstarszy, a sytuacja jest bardzo podobna jak w przykładzie z mojego wczesniejszego pytania ten przyklad masz zle moim zdaniem :| Dodawanie i odejmowanie Liczby U2 dodajemy i...
Akane: puściłem sobie ten kod który podałeś i jestem tym zaszokowany co zobaczyłem. Z tego wynika że na floacie wogóle nie można polegać. Obawiałem się że właśnie tak to wygląda. Zrobiłem sobie też taki programik i dodając 0.1, wartość się zatrzymuje na 2097152.0000. Śmiech na sali. Kiedyś widziałem taki opis budowy liczb ułamkowych : przykładowo dla...
Zadanie: . Zaprojektować jednostkę arytmetyczno-logiczna, która będzie realizować dodawanie i odejmowanie 4-bitowych liczb binarnych w kodzie U2 oraz ma informować o przekroczeniu zakresu. Zrobiłem taki układ: http://obrazki.elektroda.net/18_12442034... Dobrze zrobiłem ten układ? Jak zrobić, żeby informował o przekroczeniu zakresu? Pozdrawiam...
Witam ponownie ;) Znalazłem przyczynę błędnej transmisji z CRC8 (x8 + x2 + x + 1). Oczywiście było to tak proste, że tylko się można zapaść pod ziemię ;/ Mianowicie nie dawałem zbytnio czasu aby przetwornik sobie policzył crc i porównał obie sumy ;/ Prędzej dawałem mu już około 1000 taktów zegara, ale dopiero 1500 taktów pozwoliło na poprawną transmisję....
Możesz napisać funkcje, która będzie miała dwa argumenty(wskaźniki do napisów). I będzie zwracała true, gdy pierwszy argument jest mniejszy od drugiego. Wtedy porównujesz po kolei każdy znak i gdy napotkasz różne znaki to ten napis jest mniejszy, którego kod ASCII jest mniejszy. A czy to koniecznie musi być w C ? Nie może być w C++ ? To by znacznie...
https://obrazki.elektroda.pl/8661538600_... 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,...
Próbowałem tego magicznego sposobu, jednak nie działa. Słychać same szumy. Rozumiem, że chodzi o sumę bitową? Nie, zwykłe dodawanie stosuje się dla zwykłych liczb. Dla liczb binarnych trzeba użyć operacji sumy logicznej, czyli OR. ... a tak na poważne - nie da się dodać do siebie 2 plików MP3 po prostu dodając bajty. Musisze je najpierw zdekodować...
Witam. Piszę w asemblerze w środowsiku RIDE na mikrokontlorer 8051 Mam takie zadanie: wczytać z pamięci zewnętrznej dwie 8 bitowe liczby (ze znakiem), a następnie dodać je i wypisać gdzieś w pamięci. Przykład zapisania tych liczb w pamięci: http://img5.imageshack.us/i/pamiech.jpg/ Mam już wczytywanie tych liczb i dodawanie/odejmowanie decymalnie (działa!),...
moze to pomoze. LJMPSTART ORG100H START: LCALLLCD_CLR LCALLWAIT_KEY ; pobierz pierwszy czynnik MOVB,#10 ; zamień liczbę na BCD DIVAB ; dzieląc przez 10 SWAPA ADDA,B MOVR0,A ; zapamiętaj w R0 (BCD) LCALLWRITE_HEX ; wypisz na LCD MOVA,#'+' ; znak sumy LCALLWRITE_DATA LCALLWAIT_KEY ; pobierz drugi czynnik MOVB, #10 ; zamień liczbę na BCD DIVAB ; dzieląc...
Dawno temu programista ,to był człowiek z wiedzą ,który znał asembler i potrafił myśleć binarnie . Ale że człowiek sobie upraszcza to dziś mamy arma w czajniku który przyspiesza mało optymalny bo uniwersalny kod. Rzeczywiście działa szybciej na 100MHz zegarze w stosunku do starej 0C51 która miała cykl rozkazowy 12 taktów zegara czyli przy zawrotnych...
Program próbuje zoptymalizować na maxa, potem uzyskuje trochę miejsca, dodaje nowe funkcje, znów optymalizuje i tak dalej. Kiedy uznam że nie wiele już poradzę (przetestuje różne drogi rozwiązania danych problemów, rozbije niektóre procedury na części pierwsze itd. kończę). A czy wiesz, że zastępując funkcją select case każde if-then oszczędzasz 2B?...
tu masz liste rozkazów http://www.spectrum.8bit.pl/z80cpu/z80cp... z z80 sie nie bawiłem :) tylko 6502 :) ale moze Cie naprowadze -najpierw sprawdz znaki czy liczby są ujemne (and a,#80 ..cmp a,#80 jz xxx) -jeśli tak ustaw jakiś bit w pamieci ze tak jest ( jeśli obie to nie ma problem, jeśli jedna wo wynik trzeba na końcu też xor-owac)...
Mam jeszcze jedną wątpliwosć co do crc (wzory teoretyczne) być moze ktoś bedzie wiedział: -ponieważ jak pisze na jednej ze stron internetowych: http://obrazki.elektroda.net/29_12311806... na innej ktoś wyjaśnia na przykładzie (ogólnym) dziesiętnym : Załóżmy, że nadajnik zamierza przekazać sekwencję binarną 1456210; algorytm redundancji cyklicznej...
https://obrazki.elektroda.pl/1968346000_... Dzień dobry. Zadanie próbuję zrobić w ten sposób: Przykładowy ciąg: https://obrazki.elektroda.pl/6804199600_... suma=0; for(i=0;i<n;i++) if(tab[i]==0) suma++; Taki algorytm w tym widzę. Zdecydowałem się na sumator. Pierw do ciągu dla odpowiednich a0,a1,a2 robię bramkę...
Widzę, że autor chce zrobić konwersję liczby binarnej na BCD. Jest do tego specjalny algorytm, który nie używa mnożenie i dzielenia, tylko przesuwanie bitów i dodawanie warunkowe. Można poszukać w google pod nazwą "bin to bcd conversion algoriht", "Double-Dabble", "Shift-and-add-3 algorithm". [url=http://www.eng.utah.edu/~nmcdonal/T...
liczba binarny dodawać liczba liczba dodawać
świateł focus dekodowanie pliku cannot convert
sinclair klimatyzator manta 40lfn19s
Tabela kodów błędów Mercedes Atego: Diagnostyka i interpretacja Błąd komunikacji w pompie ciepła: przyczyny i diagnostyka