Algorytm konwersji liczb z binarnych na dziesiętne |
Algorytm konwersji liczb z binarnych na dziesiętne |
21.09.2010, 17:00:02
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
Witam,
Czy posiada ktoś takowy algorytm, lub byłby tak miły mi napisać? PS Pytałem wujka, ale nie dał mi odpowiedzi. Z góry dziękuję i pozdrawiam KeeL Jeśli ktoś nie wie o jakiego wujka chodzi to pisać na pw. |
|
|
21.09.2010, 17:16:17
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) |
człowieku, to jest podstawówka... i nie mów, ze szukałeś, bo wystarczy wpisać "liczby binarne" do googla, i pierwsza strona (Wikipedia):
Cytat Np. liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie dwójkowym przybiera postać 1010, gdyż: jak dalej nie łapiesz zasady, wg której to się zamienia, to trochę niżej masz "Zmiany systemu" Ten post edytował Pawel_W 21.09.2010, 17:17:20 |
|
|
21.09.2010, 17:23:50
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
to umiem, ale potrzebuje algorytmu który by dało się przepisać na program lub schematu blokowego. Potrzebuje konwersji w dwie strony.
Ten post edytował KeeL 21.09.2010, 17:27:40 |
|
|
21.09.2010, 17:30:03
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
A co to jest niby to powyżej jak nie algorytm zamiany?
|
|
|
21.09.2010, 17:44:31
Post
#5
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
ok, to w takim razię się źle wyraziłem w 1 poście.
Moglibyście mi pomóc jak zamienić ten algorytm na program? Taki krótki opis. |
|
|
21.09.2010, 18:28:33
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Ja cię proszę...
Liczysz długosc ciagu zer i jedynek. Lecisz od końca pętlą pobierając konkretny znak z ciągu. Zwiększasz wartośc o jeden jakiejś zmiennej tymczasowej. I normlanie mnożysz z dwójką do potęgi zmiennej tymczasowej oraz dodajesz do wczesniejszych mnożeń.
Poradzisz sobie tak żeby ci to działało. Btw. W wszystkich językach istnieją gotowe funkcje do konwersji takich rzeczy raczej Aha, można jedną rzecz tutaj zoptymalizować ale będzie to zadanie dla ciebie. Ten post edytował bim2 21.09.2010, 18:29:25 -------------------- |
|
|
21.09.2010, 18:28:55
Post
#7
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
Pętla idąca od najwyższej potęgi dwójki do najniższej i sprawdzająca czy dana potęga mieści się w liczbie i jeśli tak, odejmująca ją od tej liczby i pisząca "1".
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
21.09.2010, 18:33:02
Post
#8
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
Dzięki chłopaki, rozjaśniliście mi już wszystko
A z dziesiętnego na binarny zadziałało by takie rozwiązanie: Pętla, i dzielenie przez 2, jeśli zostaje reszta dopisz 1, a jeżeli nie dopisz 0 do stringa? |
|
|
21.09.2010, 18:38:37
Post
#9
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
Raczej nie reszta, bo wtedy będziesz prawie wyłącznie jedynki wypisywać . Sprawdzasz wynik dzielenia czy jest większy od zera, a resztę podstawiasz za liczbę do kolejnej iteracji. I tak - to jest inny pomysł na ten algorytm. Ja osobiście wolę wariant z odejmowaniem, gdyż odejmowanie jest wykonywane przez komputer dużo szybciej, niż dzielenie, ale z drugiej strony dzielenie da się uogólnić na dowolny system liczbowy.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
21.09.2010, 18:42:58
Post
#10
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
To który to sposób?
|
|
|
21.09.2010, 18:44:15
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Zyx, czemu nie reszta? Jeśli podzieli np 10 na 2, zapisze 0, później 5 na 2, zapisze 1, potem (oczywiście zaokrąglanie w dół) 2 na 2, zapisze 0, no i przy jedynce zapisuje 1. Aha, jeszcze trzeba reverse zrobić i dam nam to 1010
-------------------- |
|
|
21.09.2010, 18:48:02
Post
#12
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
A, bo zrozumiałem (nie wiedzieć czemu), że on potęgami dwójki chce dzielić. Faktycznie, było, że dwa. Mój drugi sposób działa przy założeniu, że będziemy przez potęgi dwójki dzielić, a nie przez dwa.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
21.09.2010, 18:49:20
Post
#13
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 3 Dołączył: 25.05.2010 Ostrzeżenie: (0%) |
Ok, dzięki jescze raz i sorki za ten źle napisany początek |
|
|
21.09.2010, 20:32:58
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 2 Dołączył: 25.04.2010 Ostrzeżenie: (0%) |
A ja ostatnio tak sobie napisałem skrypt przeliczający liczbę z systemu dziesiętnego na binarny. Napisałem takim sposobem jaki pierwszy przyszedł mi do głowy. Pewnie dałoby się jakoś go uprościć ale u mnie wygląda tak:
|
|
|
21.09.2010, 20:55:35
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 468 Pomógł: 6300 Dołączył: 27.12.2004 |
nie:
a: if (is_int($liczba)) Jesli dwie linijki wczesniej $liczba rzutujesz na INTa to trudno by nim nie był -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.09.2010, 21:19:38
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
btw: http://www.google.com/search?hl=en&cli...q=&gs_rfai= (nie wynajduj koła na nowo).
|
|
|
21.09.2010, 21:28:40
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) |
btw: http://www.google.com/search?hl=en&cli...q=&gs_rfai= (nie wynajduj koła na nowo). a tu post devnula z tematu "Quiz PHP"
wyświetli odpowiednik binarny dla 123 EDIT: @Speedy pisałem już o tym... Ten post edytował Pawel_W 21.09.2010, 21:34:18 |
|
|
21.09.2010, 21:31:57
Post
#18
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) |
Witam, Czy posiada ktoś takowy algorytm, lub byłby tak miły mi napisać? PS Pytałem wujka, ale nie dał mi odpowiedzi. Z góry dziękuję i pozdrawiam KeeL Jeśli ktoś nie wie o jakiego wujka chodzi to pisać na pw. To następnym razem zapytaj ciocię. Ciocię Wikipedię. -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.05.2024 - 05:57 |