Przekształcanie wartości dziesiętnych na binarne (i na odwrót) 1

Wszystkie wartości adresów IP i masek sieci (podsieci) składają się z danych o standardowej długości 32 bitów, są one widziane i interpretowane przez komputery jako jeden ciąg binarny („zero-jedynkowy”), np. 11000000.10101000.00000000.00000001 (co jest w postaci dziesiętnej: 192.168.0.1)

W notacji dziesiętnej z kropkami każdy 32-bitowy adres jest widziany jako cztery oddzielne grupy 8-bitowe. Każda z czterech grup 8 kolejnych bitów jest nazywana oktetem. Każdy oktet składa się z 8 bitów. Cztery oktety, będące oddzielnymi wartościami dziesiętnymi w adresie IP, są oddzielone kropkami. W adresie IP 192.168.0.1 (11000000.10101000.00000000.00000001) pierwszym oktetem będzie liczba 192 (11000000), czwartym – 1 (00000001).

W poniższej tabeli przedstawiono wartość poszczególnych pozycji bitów w oktecie w zapisie wykładniczym jako liczbę dziesiętną.

 

Zapis dziesiętny

1 bit

2 bit

3 bit

4 bit

5 bit

6 bit

7 bit

8 bit

128

64

32

16

8

4

2

1

192

1

1

0

0

0

0

0

0

232

1

1

1

0

1

0

0

0

47

0

0

1

0

1

1

1

1

134

1

0

0

0

0

1

1

0

13

0

0

0

0

1

1

0

1

To znaczy, żeby znaleść dziesiętną wartość oktetu, trzeba sumować wartości tych bitów, ktore oznaczone są jako jedynka. W przypadku, kiedy naodwrót trzeba znaleść postać binarną liczby dziesiętej, to trzeba znaleść sumę takich bitów, żeby ona wynosiła szukaną liczbę. Np. w przypadku liczby 192 mamy taką równość:

Całkowita wartość oktetu (192) = pierwszy bit (128) + drugi bit (64)

Tak więc 192 w postaci binarnej jest równo 11000000, 232 = 11101000, 47 = 00101111, 134 = 10000110, 13 = 00001101.

Na przykład jeśli na pierwszej pozycji znajduje się bit o wartości 1, odpowiadającą jej wartością dziesiętną jest 128. Jeśli wartość bitu wynosi 0, odpowiadającą jej wartością dziesiętną jest także 0.

Jeśli na wszystkich pozycjach w oktecie znajdują się zera (0),to jest to najmniejsza wartość oktetu, której odpowiada dziesiętnie wartość 0. Jeśli na wszystkich pozycjach w oktecie znajdują się jedynki (1), to jest to największa wartość oktetu, której odpowiada dziesiętnie wartość 255

 

Jeden komentarz w “Przekształcanie wartości dziesiętnych na binarne (i na odwrót)

  1. Reply przemek Sty 15, 2013 21:07

    Fajnie opisane, funkcje dla leniwych do wykorzystania w excelu: DEC2BIN i BIN2DEC.

    i „znaleźć” – polski język, trudny język:)

Dodaj komentarz

  

  

  

Polski
English
Русский