Wskazówka:
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.
Powrót do pytań