Gość rgabrysiak Napisano Październik 4, 2007 Zgłoszenie Share Napisano Październik 4, 2007 Witam Mam napisać program konwertujący liczbę (n) z układu dziesiętnego do dwójkowego wg algorytmu 1)Znajdź największe k takie że 2 do potęgi k mniejsze,równe n 2)Zapisz 1 na pozycji k 3)Znajdz różnicę n - 2 do potęgi k, i dla malejących k sprawdzaj 1) Jeśli 3) nie jest spełnione na k umieść 0 Bardzo proszę o wskazówkę bo nie mogę sobie poradzić Z góry przepraszam za kłopot i pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Październik 4, 2007 Zgłoszenie Share Napisano Październik 4, 2007 Toż wskazówkę sam sobie napisałeś. Ale też podany przez Ciebie sposób nie jest najlepszy. O wiele sprawniej jest obliczać ilorazy (ściślej -- ich części całkowite) oraz reszty z dzielenia przez 2, tylko wtedy cyfry dostajesz w odwrotnej kolejności. Np. liczba 18; reszta 0 iloraz 9; reszta 1 iloraz 4; reszta 0 iloraz 2; reszta 0 iloraz 1; reszta 1 iloraz 0; koniec. Postać dwójkowa 18 jest 10010 (cyfry reszt od ostatniej do pierwszej). Sprawdzam: (10010)_2 = 2^4 + 2^1 = 18. OK Wg Twojego sposobu byłoby tak: dla 18 2^n to będzie 16, czyli 2^4, n=4 piszę 1 na pozycji 4; 18-16 = 2 jeszcze nie koniec; dla 2 2^n to będzie 2, czyli 2^1, n=1 piszę 1 na pozycji 1; 2 - 2 = 0 koniec. Dostałem 10010, czyli to samo. Konsultacji udzieliłem z życzliwości dla pytającego. Ale oprogramować musisz niestety sam. Zadań domowych nie odrabiamy, chyba że za siebie. Zauważ też, że Twój problem nie ma nic wspólnego z Fedorą. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Gość rgabrysiak Napisano Październik 4, 2007 Zgłoszenie Share Napisano Październik 4, 2007 Dziękuję za wskazówkę Nie mogę zrozumieć jak przekazać dla 18 2^n to będzie 16, czyli 2^5, n=5 piszę 1 na pozycji 5; to do programu. Próbuję zrobić równanie ale coś nie za bardzo działa Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Październik 4, 2007 Zgłoszenie Share Napisano Październik 4, 2007 Dziękuję za wskazówkę Nie mogę zrozumieć jak przekazać Kombinuj wyrażenie z logarytmem i częścią całkowitą, jeżeli umiesz. A jak nie, to pętlą. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Gość rgabrysiak Napisano Październik 4, 2007 Zgłoszenie Share Napisano Październik 4, 2007 Sęk w tym że w programowaniu stawiam pierwsze kroki i za nic nie mogę sobie poradzić Dobra programik już prawie działa (oczywiście napisany w C++) ale to nie koniec zabawy ponieważ mam go przenieść do JavaScriptu i z tym jest problem ponieważ po przeniesieniu go całkowicie nie działa. Więc (_z tąd_ → stąd) ORT moje pytanie jak go przenieść z C++ do JavaScriptu Nie pisz kolejnych postów pod własnymi, korzystaj z opcji edytuj /Karlik Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Październik 5, 2007 Zgłoszenie Share Napisano Październik 5, 2007 Musisz wziąć pod uwagę różnice w składni. Do tego są książki i dokumentacja online. Jak zrobisz błąd składniowy w C++, to kompilator zatrzyma się i powie gdzie widzi problem. A JavaScript jest interpretowany, interpreter wykonije instrukcje kodu i przerywa działanie na błędzie. Zakomentuj część kodu, zostaw tylko szkielet function(){ return..}, potem po kolei włączaj instrukcje. Możesz też robić sobie wydruki kontrolne, albo okienka z komunikatami po kolejnych etapach. Jak wszystko będzie grać, to je usuniesz. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
matlas Napisano Październik 5, 2007 Zgłoszenie Share Napisano Październik 5, 2007 w JavaScript tez powie gdzie jest problem, zaladuj sobie do FireFoxa plugin Firebug na pewno ci ulatwi prace z JS. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się