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 01. 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 01, 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