@applicative_functor: od razu pomyslałem o tym samym. Jak dla mnie zdecydowanie łatwiejsze i mniej przekombinowane.
Chociaż nie miałem z liczbami binarnymi do czynienia od czasów informatyki na I roku sttudiów (a więc niemal dekadę temu), to tę Twoją metodę jakoś do dziś zapamiętałem.
Nie jestem przekonany co do tego, ze z tamtą z artykułu poszłoby równie łatwo.
@applicative_functor: Ok, spróbuj teraz obliczyć liczbę składającą się z 10 cyfr, bez użycia kartki i długopisu. Oba sposoby są banalne, ale ten ukazany w znalezisku jest dużo łatwiejszy do obliczenia w pamięci.
To ja może zadam takie głupie pytanie, wyjdę na kompletnego ignoranta i nieuka, ale... po jaką cholerę uczyć tego w szkole, do czego to się w praktyce w życiu normalnemu człowiekowi może przydać? :(
Heh, następne z tych znalezisk, które ludzie wykopują, bo brzmi mądrze. To nic, że nie mają pojęcia w czym rzecz, że wytłumaczone po angielsku. Wykopać wypada, bo wtedy wyjdzie się na mądrzejszego. Aha, w związku z tym wszystkim komentarzy pod takim znaleziskiem bez liku ;)
ja ostatnio miałam szybką wejściówkę z przeliczania wszystkich jednostek. Chciałam się pochwalić, że sama wymyśliłam sposób, którego też powinni uczyć w szkole, bo jak ludzie się tego uczyli kupę czasu to i tak nie umieli a po moim wytłumaczeniu łapali w jakieś 2 minuty:)
Komentarze (39)
najlepsze
1011010 – Next digit is a zero; we double our mental number: 1 x 2 = 2.
1011010 – Next digit is a one; we double our mental number and add one: 2 x 2 + 1 = 5
1011010 – Another one; double and add one: 5 x 2 + 1 = 11
1011010 – Zero; double: 11 x
Chociaż nie miałem z liczbami binarnymi do czynienia od czasów informatyki na I roku sttudiów (a więc niemal dekadę temu), to tę Twoją metodę jakoś do dziś zapamiętałem.
Nie jestem przekonany co do tego, ze z tamtą z artykułu poszłoby równie łatwo.
Dla n:
Mas liczbę postaci abcd....
1. zaczynasz od a
2. Mnożysz a * n i dodajesz b
3. to co wyżej wyjdzie znowu mnożysz przez n i dodajesz c
4. to co wyżej wyjdzie znowu mnożysz przez n i dodajesz d
etc
(jeśli któraś z tych cyfr jest równa 0 to jak widać dodawanie można pominąć)
Nic tu nie trzeba rozszerzać, metoda jest taka sama tylko inna podstawa
Przykład
Ale jak chcesz na piechotę:
Masz liczbę 345
Na początek wpisujesz sobie 1 i szukasz największej liczby będącej potęgą 2, tutaj będzie to 256, odejmujesz to od początkowej liczby i masz 89
1 | 89 (następnie dzielisz 256/2 = 128 i patrzysz czy ta liczba się mieści, nie mieści się czyli dopisujesz 0)
10 | 89 (dzielisz 128/2
1. Jeśli liczba jest parzysta - zapisujesz 0, jeśli nieparzysta 1 (od prawej do lewej)
2. Dzielisz liczbę przez 2 zaokrąglając w dół
3. Jeśli wynikiem nie jest 0 to wracasz do punktu 1
przykład - 10:
10 jest parzyste - 0, ⌊10/2⌋=5
5 jest nieparzyste - 10, ⌊5/2⌋=2
2 jest parzyste - 010, ⌊2/2⌋=1
1 jest nieparzyste - 1010, ⌊1/2⌋=0
Ale tak samo jak z
więcej mi nie trzeba
Fascynujące. Jeszcze jakbyś się podzieliła ów boską metodą...