Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek
|
System binarny jest mało czytelny dla człowieka, łatwo się nam w nim pomylić i pogubić. Na przykład dwa ciągi binarne: 1101001001001110100010100010001000101 oraz 1101001001001110100010100110001000101 różnią się tylko jednym bitem. Czy możesz go od razu wskazać? Programując komputery często mamy do czynienia z wartościami binarnymi. Aby uprościć ich zapis wykorzystuje się dwa systemy zastępcze - ósemkowy oraz szesnastkowy. Wybór tych systemów jest podyktowany tym, iż są one bardziej czytelne dla człowieka od systemu binarnego oraz w bardzo prosty sposób można przeliczać liczby binarne na system ósemkowy i szesnastkowy. |
Liczbę binarną (lub ogólniej dowolny kod binarny) można wyrazić w systemie ósemkowym. Do konwersji niezbędna nam jest poniższa tabelkaa (sugeruję wyuczenie się jej na pamięć), w której wartości cyfr ósemkowych wyrażone są w naturalnym kodzie binarnym.
Tabelka konwersji dwójkowo ósemkowej |
|
---|---|
cyfra ósemkowa |
wartość dwójkowa |
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
Zasada konwersji dwójkowo ósemkowej jest następująca. Liczbę binarną (kod binarny) rozdzielamy na grupy 3 bitowe idąc od strony prawej ku lewej. Jeśli w ostatniej grupie jest mniej bitów, to brakujące bity uzupełniamy zerami. Teraz każdą z 3-bitowych grup zastępujemy cyfrą ósemkową zgodnie z tabelką konwersji. W wyniku otrzymujemy liczbę ósemkową o identycznej wartości jak wyjściowa liczba binarna.
Przykład:
Konwertujemy liczbę dwójkową na ósemkową:
1110101000101010111101010101 1 110 101 000 101 010 111 101 010 101 |
|||||||||
001 | 110 | 101 | 000 | 101 | 010 | 111 | 101 | 010 | 101 |
1 | 6 | 5 | 0 | 5 | 2 | 7 | 5 | 2 | 5 |
1110101000101010111101010101(2) = 1650527525(8) |
Zwrocie uwagę na fakt, iż zapis ósemkowy jest dla nas o wiele bardziej czytelny od zapisu dwójkowego. Ambitnym czytelnikom proponuję sprawdzenie, iż wartości obu liczb są identyczne (można skorzystać z formularzy w poprzednich rozdziałach naszego opracowania).
Konwersja w drugą stronę jest jeszcze prostsza. Każdą cyfrę ósemkową zastępujemy grupą 3 bitów wg tabelki konwersji. Grupy łączymy w jedną liczbę binarną.
Przykład:
Konwertujemy liczbę ósemkową na dwójkową:
7266501472 |
|||||||||
7 | 2 | 6 | 6 | 5 | 0 | 1 | 4 | 7 | 2 |
111 | 010 | 110 | 110 | 101 | 000 | 001 | 100 | 111 | 010 |
7266501472(8) = 111010110110101000001100111010(2) |
W podobny sposób do opisanej powyżej konwersji dwójkowo ósemkowej wykonujemy konwersję dwójkowo szesnastkową. Znów potrzebujemy tabelkę konwersji, w której cyfry szesnastkowe są przeliczone na system dwójkowy:
Tabelka konwersji dwójkowo szesnastkowej |
|
---|---|
cyfra szesnastkowa |
wartość dwójkowa |
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
Liczbę dwójkową dzielimy na grupy 4-ro bitowe idąc od strony prawej ku lewej. Jeśli w ostatniej grupie jest mniej bitów, to brakujące wypełniamy zerami. Następnie każdą grupę bitów zastępujemy jedną cyfrą szesnastkową zgodnie z tabelką konwersji.
Przykład:
Konwertujemy liczbę dwójkową na szesnastkową:
1110101000101010111101010101 1110 1010 0010 1010 1111 0101 0101 |
||||||
1110 | 1010 | 0010 | 1010 | 1111 | 0101 | 0101 |
E | A | 2 | A | F | 5 | 5 |
1110101000101010111101010101(2) = EA2AF55(16). |
Konwersja w drugą stronę jest następująca:
Każdą cyfrę szesnastkową zastępujemy grupą 4 bitów wg tabelki konwersji. Grupy łączymy w całość otrzymując odpowiednik dwójkowy wyjściowej liczby szesnastkowej.
Przykład:
Konwertujemy liczbę szesnastkową na dwójkową:
3FAC72608D |
|||||||||
3 | F | A | C | 7 | 2 | 6 | 0 | 8 | D |
0011 | 1111 | 1010 | 1100 | 0111 | 0010 | 0110 | 0000 | 1000 | 1101 |
3FAC72608D(16) = 11111110101100011100100110000010001101(2) |
Zapis szesnastkowy w pewnym sensie jest lepszy od ósemkowego, ponieważ lepiej pasuje do opisu zawartości komórek pamięci komputera. Komórka pamięci jest 8-bitowa, zatem jej zawartość przekłada się zawsze na dwucyfrową liczbę szesnastkową (w zapisie ósemkowym są to 3 cyfry, z których najstarsza może przyjąć jedynie wartości od 0 do 3).
Zamień podane liczby binarne na ich odpowiedniki w systemie ósemkowym:
Zamień podane liczby ósemkowe na ich odpowiedniki w systemie dwójkowym - pomiń zera nieznaczące:
Zamień podane liczby binarne na ich odpowiedniki w systemie szesnastkowym. Cyfry szesnastkowe wpisz dużymi literami.
Zamień podane liczby szesnastkowe na ich odpowiedniki w systemie binarnym - pomiń zera nieznaczące:
Zaproponuj szybki sposób konwersji ósemkowo szesnastkowych.
Zaprojektuj metodę konwersji czwórkowo dwójkowych.
Uzasadnij poprawność opisanych metod konwersji ósemkowo-szesnastkowo-dwójkowych.
Zobacz dalej...
Kody binarne | Naturalny system dwójkowy | Dwójkowy system stałoprzecinkowy | Operacje arytmetyczne w systemie dwójkowym | Operacje logiczne na bitach
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.