Moze mi ktos wytlumaczyc, co znaczy i daje kazda poszczegolna instrukcja? i dlaczego akurat taka, a nie inna :/ (C++, zamiana liczb dziesiętnych na binarne)
int i=0,tab[31];
while(liczba) { tab[i++]=liczba%2; liczba/=2; }
for(int j=i-1;j>=0;j--) cout<<tab[j];
Miilk
Więc tak, pierwsza linijka... ustawiasz sobie i na zero, oraz tworzysz tablice, myślę, że to rozumiesz :) liczba- domyślam się, że jest to zmienna podawana przez użytkownika ? tylko nie pamiętam czy może być sama liczba jako wartość bez niczego innego, jak ktoś jest pewien, że tak to niech mnie poprawi :) pętla while będzie się wykonywała dopóki będzie spełniony warunek, którym u Ciebie jest liczba, więc dopóki warunek jest prawdziwy to : tab[i++] <-- i++ to zwiększanie wartości i za każdym przebiegiem pętli, czyli całe wyrażenie to wypełnianie tablicy :) liczba%2 <-- to wynikiem tego jest reszta z dzielenia liczby przez 2 na jeśli liczba=5 to liczba%2=1 czyli ogólnie, wypełniasz tablicę resztami z dzielenia :) liczba/=2 <--- to to samo co liczba=liczba/2; czyli przypisanie zmiennej liczba nowej wartości :) np . jeśli liczba =10 to 10/2=5; czyli liczba =5; ostatnia pętla (for) wyświetla zawartość tablicy na ekran :)
pierwsza linijka... ustawiasz sobie i na zero, oraz tworzysz tablice, myślę, że to rozumiesz :)
liczba- domyślam się, że jest to zmienna podawana przez użytkownika ? tylko nie pamiętam czy może być sama liczba jako wartość bez niczego innego, jak ktoś jest pewien, że tak to niech mnie poprawi :)
pętla while będzie się wykonywała dopóki będzie spełniony warunek, którym u Ciebie jest liczba, więc dopóki warunek jest prawdziwy to :
tab[i++] <-- i++ to zwiększanie wartości i za każdym przebiegiem pętli, czyli całe wyrażenie to wypełnianie tablicy :)
liczba%2 <-- to wynikiem tego jest reszta z dzielenia liczby przez 2 na jeśli liczba=5 to liczba%2=1
czyli ogólnie, wypełniasz tablicę resztami z dzielenia :)
liczba/=2 <--- to to samo co liczba=liczba/2; czyli przypisanie zmiennej liczba nowej wartości :) np . jeśli liczba =10 to 10/2=5; czyli liczba =5;
ostatnia pętla (for) wyświetla zawartość tablicy na ekran :)