Zanim przejdziemy do konwersji liczb, przypomnijmy, czym są systemy liczbowe: binarny i dziesiętny.

System binarny:

  • pozycyjny system liczbowy, którego podstawą jest liczba 2,

  • do zapisu dowolnej liczby wykorzystujemy tylko dwie cyfry: 0 oraz 1,

  • jest to powszechnie używany system w elektronice i informatyce,

  • bitem nazywamy każdą cyfrę liczby w tym systemie.

System dziesiętny:

  • pozycyjny system liczbowy, którego podstawą jest liczba 10,

  • jest to system, w którym wykorzystujemy dziesięć cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

  • jest to system używany przez nas na co dzień.

Na co dzień posługujemy się liczbami zapisanymi w systemie dziesiętnym, dlatego interpretacja wartości liczby binarnej i wykonywanie obliczeń w tym systemie może być dla nas uciążliwe. Taką liczbę warto wówczas zamienić na liczbę w systemie dziesiętnym. Jak to zrobić?

System dwójkowy, podobnie jak dziesiętny, jest systemem pozycyjnym. Liczby są w nim zapisywane w postaci ciągu cyfr 0 i 1. Każda cyfra (bit) jest mnożną odpowiadającej jej wagi, czyli podstawy systemu (liczby 2) podniesionej do potęgi zależnej od pozycji bitu.

Tabela przedstawia wagi liczby dwójkowej, składającej się z n cyfr części całkowitej oraz m cyfr części ułamkowej:

Cyfra

xn-1

xn-2

…

x1

x0

x-1

x-2

…

x-m

Waga pozycji

2n-1

2n-2

…

21

20

2-1

2-2

…

2-m

Pozycje bitów części całkowitej numerujemy od 0, rozpoczynając od prawej strony. Pozycje bitów części ułamkowej numerujemy po przecinku od lewej strony, zaczynając od -1. Dzięki temu możemy obliczyć wartość dziesiętną liczby zapisanej w systemie dwójkowym.

Ważne!

Wartością dziesiętną liczby o reprezentacji xn-1, xn-2, …, x1, x0, x-1, x-2, …, x-m 2 jest:

xn-12n-1+…+x121+x020+x-12-1+…+x-m2-m

Algorytm konwersji liczby w systemie dwójkowym na system dziesiętny wygląda następująco:

  1. Mnożymy cyfry danej liczby binarnej przez wagi ich pozycji (zgodnie z powyższą tabelą).

  2. Dodajemy do siebie otrzymane iloczyny, otrzymując w ten sposób wartość liczby w systemie dziesiętnym.

W systemie binarnym w liczbie mogą występować tylko cyfry 0 i 1, a w systemie dziesiętnym cyfry od 0 do 9.

Przykład 1

Zamieńmy liczbę 10012 na system dziesiętny.

Przy rozwiązywaniu tego zadania może nam się przydać tabela z kolejnymi potęgami liczby 2. Ułatwi ona dokonywanie obliczeń.

Waga

29

28

27

26

25

24

23

22

21

20

Wynik

512

256

128

64

32

16

8

4

2

1

Nasza przykładowa liczba jest liczbą całkowitą, bez części ułamkowej. Dlatego kolejne pozycje cyfr w naszej liczbie numerujemy od 0, rozpoczynając od najmłodszego bitunajmłodszy bitnajmłodszego bitu, a kończąc na najstarszym bicienajstarszy bitnajstarszym bicie.

10012=1·23+1·20=8+1=910

Zauważmy, że cyfry 0 nie zostały uwzględnione w dodawaniu iloczynów. Jeżeli cyfrę 0 pomnożymy przez wagę pozycji, otrzymamy iloczyn równy 0 – a to nie wpływa na wynik obliczeń. Jeżeli chcielibyśmy jednak uwzględnić iloczyny wynoszące 0, działanie wyglądałoby następująco:

10012=1·23+0·22+0·21+1·20=8+0+0+1=910

Jak należało się spodziewać, otrzymaliśmy taką samą wartość.

Słownik

najmłodszy bit
najmłodszy bit

bit o najmniejszej wadze (najmniej znaczący), najbardziej wysunięty na prawo

najstarszy bit
najstarszy bit

bit o największej wadze (najbardziej znaczący), najbardziej wysunięty na lewo