W 8-bitowym słowie binarnym kolejne pozycje od lewej (MSB) do prawej (LSB) mają wagi: 128, 64, 32, 16, 8, 4, 2, 1. Aby przeliczyć liczbę binarną na dziesiętną, dodaje się tylko te wagi, przy których w zapisie binarnym stoi "1".
Dla liczby (11100111)2 bity mają wartości:
- 1·128 (pierwszy bit z lewej)
- 1·64
- 1·32
- 0·16
- 0·8
- 1·4
- 1·2
- 1·1
Suma wag bitów równych 1 wynosi: 128 + 64 + 32 + 4 + 2 + 1 = 231. Zatem wynik dziesiętny to (231)10.
Dlaczego pozostałe odpowiedzi są błędne?
- (230)10 – to wartość o 1 mniejsza. Taki wynik pojawiłby się, gdyby pominąć najmłodszy bit (LSB) o wadze 1 lub popełnić błąd w dodawaniu końcówki "…+2+1".
- (254)10 – 254 odpowiada binarnie 11111110, czyli prawie wszystkim bitom równym 1, ale z LSB równym 0. To nie pasuje do "11100111", gdzie środkowe bity (16 i 8) są zerami.
- (255)10 – 255 to 11111111, czyli wszystkie bity równe 1. W naszym zapisie dwa bity w środku są równe 0, więc wynik musi być mniejszy od 255.
W praktyce mechatronicznej takie przeliczenia są potrzebne przy diagnostyce torów pomiarowych: kod z ADC jest liczbą całkowitą, którą później skaluje się do wielkości fizycznej (np. napięcia), ale podstawą zawsze jest poprawna interpretacja wag bitów.