Jak to jest z przeliczaniem na inne systemy liczbowe? wiem jak liczyć z dziesiętnego na binarny i na odwrót oraz wiem, że z dziesiętnego na inny wystarczy dzielić liczbę przez cyfrę np. na ósemkowy − dzielę przez 8, zapisuję resztę itd... a jak to jest przy przejściach np z 8 na 4? z 5 na 11? z takich "nietypowych" systemów? czy jest jakiś prosty algorytm na to?
dominnio
Żeby zrozumieć jak należy przeliczać liczby z jednych systemu na drugi, trzeba zrozumieć co to jest ten system liczbowy. System dziesiętny jest prosty, bo z nim się wychowaliśmy. Jeśli zapisujesz liczbę w systemie dziesiętnym np. 2341, to możesz ją rozłożyć w następujący sposób:
Podobnie z liczbami po przecinku np. 0,125 rozkładasz na .
Pewnie zauważyłeś, że jest to system dziesiętny, bo podstawą systemu, czyli liczbą którą podnosimy do odpowiednich potęg jest 10.
Podobnie jeśli masz inny system np. trójkowy. Przykładowa liczba w takim systemie to 21102 Co to oznacza? Postępujemy tak samo jak w dziesiętnym. Tylko najpierw uświadommy sobie pewną rzecz. Jest to system trójkowy. Więc podstawą systemu jest 3. Jak zapisać 3? Oczywiście jako 10. No to rozkładamy naszą liczbę:
Teraz mając tę liczbę przechodzimy do tego co Cię najbardziej interesuje. Zamiana tej liczby na inny system. Na razie, żeby było łatwiej zamieńmy ją na 10. Co robimy? Zamieniamy każdą liczbę w jej składnikach na system dziesiętny:
To było proste prawda? No to teraz zamieńmy może inną liczbę z systemu trójkowego na siódemkowy np. 201
To już nie było takie oczywiste. Dla większych liczb zaczynają się problemy, ale wprawa czyni mistrza.
Jeśli liczyłeś na jakiś prosty algorytm to muszę Cię zawieść, ponieważ metody, które znasz dla przeliczana z dziesiętnego na inny system liczbowy, opierają się na mnożeniu, którego tabliczkę znasz na pamięć, ale niestety tylko w systemie dziesiętnym. Zauważ, że w systemie np. piątkowym . Małe liczby da się w ten sposób obliczać, ale niestety z większymi liczbami (choć oczywiście matematyka nie zabrania), staje się to bardzo ciężkie.
UWAGA !!! Jest jeszcze jeden sposób, o którym warto wiedzieć, ale nie jest on uniwersalny. Jeśli masz system np. dwójkowy, to nawet bardzo długie liczby szybko przelicza się na system szesnastkowy, ósemkowy, bądź czwórkowy. Weźmy liczbę 101010101001000101011110101011 Zamieniamy ją na system ósemkowy w następujący sposób. Otóż dzielisz sobie tę liczbę na bloki 3 elementowe. każdy taki blok reprezentuje kolejną cyfrę w systemie ósemkowym. 101 010 101 001 000 101 011 110 101 011 Teraz po prostu obliczasz wartości tych bloków w systemie ósemkowym. 5 2 5 1 0 5 3 6 5 3 Oto liczba w systemie ósemkowym.
Podobnie z liczbami po przecinku np. 0,125 rozkładasz na .
Pewnie zauważyłeś, że jest to system dziesiętny, bo podstawą systemu, czyli liczbą którą podnosimy do odpowiednich potęg jest 10.
Podobnie jeśli masz inny system np. trójkowy. Przykładowa liczba w takim systemie to
21102
Co to oznacza? Postępujemy tak samo jak w dziesiętnym. Tylko najpierw uświadommy sobie pewną rzecz. Jest to system trójkowy. Więc podstawą systemu jest 3. Jak zapisać 3? Oczywiście jako 10.
No to rozkładamy naszą liczbę:
Teraz mając tę liczbę przechodzimy do tego co Cię najbardziej interesuje. Zamiana tej liczby na inny system. Na razie, żeby było łatwiej zamieńmy ją na 10. Co robimy? Zamieniamy każdą liczbę w jej składnikach na system dziesiętny:
To było proste prawda? No to teraz zamieńmy może inną liczbę z systemu trójkowego na siódemkowy np. 201
To już nie było takie oczywiste.
Dla większych liczb zaczynają się problemy, ale wprawa czyni mistrza.
Jeśli liczyłeś na jakiś prosty algorytm to muszę Cię zawieść, ponieważ metody, które znasz dla przeliczana z dziesiętnego na inny system liczbowy, opierają się na mnożeniu, którego tabliczkę znasz na pamięć, ale niestety tylko w systemie dziesiętnym. Zauważ, że w systemie np. piątkowym
.
Małe liczby da się w ten sposób obliczać, ale niestety z większymi liczbami (choć oczywiście matematyka nie zabrania), staje się to bardzo ciężkie.
UWAGA !!!
Jest jeszcze jeden sposób, o którym warto wiedzieć, ale nie jest on uniwersalny.
Jeśli masz system np. dwójkowy, to nawet bardzo długie liczby szybko przelicza się na system szesnastkowy, ósemkowy, bądź czwórkowy.
Weźmy liczbę
101010101001000101011110101011
Zamieniamy ją na system ósemkowy w następujący sposób. Otóż dzielisz sobie tę liczbę na bloki 3 elementowe. każdy taki blok reprezentuje kolejną cyfrę w systemie ósemkowym.
101 010 101 001 000 101 011 110 101 011
Teraz po prostu obliczasz wartości tych bloków w systemie ósemkowym.
5 2 5 1 0 5 3 6 5 3
Oto liczba w systemie ósemkowym.