Powszechnie znane są algorytmy konwersji liczby z zapisu dziesiętnego na zapis w systemie
pozycyjnym o podstawie s < 10 i odwrotnie: z zapisu w systemie o podstawie s na system
dziesiętny. Aby uniknąć wielokrotnego wykonywania takich konwersji, skorzystamy
z zależności między reprezentacjami liczb w systemie o podstawie 2, podstawie 4 = 2⋅2 oraz
podstawie 8=2⋅2⋅2. Skoncentrujmy się najpierw na systemach o podstawach 2 i 4:
- reprezentację liczby w systemie czwórkowym można uzyskać z jej reprezentacji
w systemie binarnym (czyli o podstawie 2), wybierając od końca pary cyfr i zamieniając
je na ich czwórkowe reprezentacje;
- reprezentację liczby w systemie binarnym można uzyskać z jej reprezentacji w systemie
czwórkowym, zamieniając każdą cyfrę czwórkową na jej dwucyfrową reprezentację
binarną.
Ponieważ 8=23, analogiczna własność zachodzi dla konwersji między systemem binarnym
a systemem ósemkowym, z tą różnicą, że zamiast bloków 2 cyfr rozważamy bloki o długości
3. Korzystając z powyższych obserwacji, uzyskujemy rozwiązanie:
Towar
|
Cena
towaru zapisana w systemie liczbowym
|
planety
|
Liczbowo2
|
Liczbowo4
|
Liczbowo8
|
Liczbowo10
|
Kozaki
|
10111011
|
2323
|
273
|
187
|
Płaszcz
|
111010100
|
13110
|
724
|
468
|
Skuter
|
10110110010
|
112302
|
2662
|
1458
|
Dokładniej, dla 10111011(2) uzyskujemy:
- reprezentację czwórkową: dzieląc 10111011 na bloki 10, 11, 10, 11 i zapisując
w systemie o podstawie 4 wartość każdego bloku: 2, 3, 2 i 3;
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
10
|
11
|
10
|
11
|
2
|
3
|
2
|
3
|
- reprezentację ósemkową: dzieląc 10111011 na bloki 10, 111, 011 i zapisując
w systemie o podstawie 4 wartość każdego bloku: 2, 7 i 3.
1
0
|
1
1 1
|
0
1 1
|
010
|
111
|
011
|
2
|
7
|
3
|
Z kolei z 724 (8) uzyskujemy:
- reprezentację binarną: zamieniając każdą cyfrę ósemkową na jej 3-cyfrową reprezentację
binarną, czyli 111, 010, 100; daje to reprezentację 111010100;
- reprezentację czwórkową: dzieląc binarną reprezentację 111010100 na bloki 01, 11,
01, 01 i 00, zapisując w systemie o podstawie 4 wartość każdego bloku: 1, 3, 1, 1 i 0.
Znając zasady konwersji między systemami o podstawach 2, 4 i 8, reprezentację dziesiętną
możemy uzyskać za pomocą standardowego algorytmu zamiany liczby z systemu o podstawie
p różnej od 10 (np. p = 2) na system dziesiętny. Analogicznie, znając reprezentację dziesiętną,wystarczy znaleźć jej reprezentację w jednym z pozostałych systemów, a potem zastosować
omówione powyżej reguły konwersji między systemami o podstawach 2, 4 i 8.