...
Hacki życiowe, przydatne wskazówki, zalecenia. Artykuły dla mężczyzn i kobiet. Piszemy o technologii i o wszystkim, co ciekawe.

Tłumaczenie informacji na kod binarny – co to jest, jakie są rodzaje, dekodowanie

1

Wszyscy znają zdolność komputerów do obliczania dużych grup danych w niemalże kilka sekund. Jednak nie wszyscy wiedzą, że ta zdolność maszyn elektronicznych zależy od obecności prądu i napięcia.

Co to jest kod binarny?

Jak komputer radzi sobie z szybkim przetwarzaniem ogromnych ilości informacji? Pomaga mu w tym system binarny. Dane wprowadzane do tego inteligentnego urządzenia wyglądają jak jedynki i zera. Każda jednostka i każde zero odpowiada określonemu stanowi przewodu elektrycznego:

  • 1 – wysokie napięcie.
  • 0 – niski.

Lub dla jednostek – obecność napięcia, a dla zer – brak.

Podstawą binarnego systemu obliczeń są kody binarne. Co to jest kod binarny?

Proces zamiany danych na zera i jedynki nazywany jest „konwersją binarną", a ich ostateczne oznaczenie to „kod binarny”.

Głębia bitowa kodu binarnego

Wszystkie liczby binarne są zbiorem bitów, czyli jedynek i zer, a każdy bit to jeden bit lub jedna pozycja w liczbie binarnej. Często w zadaniach informatycznych pojawia się pytanie, ile informacji zawiera ten lub inny kod binarny. Powinieneś wiedzieć, że każda cyfra kodu binarnego zawiera ilość informacji równą jednemu bitowi.

Jaka jest głębia bitowa kodu binarnego? Jeśli spojrzysz z punktu widzenia arytmetyki, głębia bitowa odnosi się do miejsca, które zajmuje cyfra podczas zapisywania liczb. Wtedy głębia bitowa kodu binarnego oznacza liczbę miejsc znaków (cyfr) lub liczbę bitów, które są wstępnie przydzielone do zapisania liczby.

Deszyfrowanie binarne

Jak odszyfrować kod binarny? Notacja dziesiętna jest oparta na systemie dziesiętnym, który jest powszechnie używany w życiu codziennym, a wartości liczbowe są tutaj reprezentowane jako dziesięć cyfr od zera do dziewięciu. Każde z miejsc w liczbach jest dziesięć razy bardziej wartościowe niż miejsce po prawej stronie. Aby przedstawić liczbę większą niż 9 w systemie dziesiętnym, używane jest zero, które jest umieszczane po prawej stronie. A jednostka znajduje się po lewej stronie w kolejnym, bardziej wartościowym miejscu.

W podobny sposób działa system binarny, w którym używane są tylko dwie cyfry – zero i jedynka. Miejsca po lewej stronie są dwa razy droższe niż miejsca po prawej stronie. Tak więc w przypadku kodu binarnego typowe jest to, że tylko 0 i 1 mogą być pojedynczymi liczbami, a dla dowolnych liczb większych niż jeden wymagane są już 2 miejsca.

Po 0 i 1 następują następujące liczby binarne:

  • 10 (czyli 1,0).
  • 11 (1.1).
  • 100(1,0,0).

W systemie binarnym 100 jest dziesiętnym odpowiednikiem 4. Zatem dowolną liczbę można wyrazić jako kod binarny, ale zajmie to więcej miejsca. Ponadto, przypisując określone liczby binarne do każdej litery alfabetu, dowolne słowo można przetłumaczyć na kod binarny.

Film o konwersji liczb na kod binarny

Na przykład, aby przesłać wiadomość przez cyfrowy kanał komunikacyjny, jest ona kodowana, to znaczy każdy znak oryginalnej wiadomości jest porównywany z określonym kodem (słowem kodowym). W tym celu używane są kody binarne – sekwencja jedynek i zer.

Na przykład, aby zakodować słowo „matka”, wybiera się następujący kod:

  • M-00.
  • A – 1.
  • T — 01.
  • L — 0.
  • U – 10.

Spacja to 11.

Zakodowane litery zostaną połączone w jeden ciąg bitów i zostaną przesłane przez sieć w następującej postaci:

MAMA MYDŁO LAMU → 0010011100010111010010

Po dostarczeniu tego ciągu do miejsca docelowego należy rozwiązać problem przywrócenia oryginalnej wiadomości. Tak więc po otrzymaniu wiadomości „001001″ jej dekodowanie można wykonać na kilka sposobów. Na przykład zakładając, że składa się tylko z liter L (kod 0) i A (kod 1), otrzymasz:

LALLAAALLLLLAAAALLALL

Oznacza to, że powyższy kod nie jest jednoznacznie dekodowalny. Kody jednoznacznie dekodowalne to takie, w których dowolne komunikaty kodowe mogą być dekodowane tylko w jeden sposób.

Jednolite kody

Problem ten rozwiązuje się przez odpowiednie podzielenie ciągu bitów na oddzielnie zakodowane słowa. Można to zrobić na przykład za pomocą jednolitego kodu, w którym długość słów jest zawsze taka sama. Na przykład ta fraza składa się z sześciu znaków, co oznacza, że ​​można zastosować kod trzybitowy.

Na przykład, jeśli zakodujesz powyższą frazę za pomocą następującego kodu:

  • M – 000.
  • A-001.
  • Y — 010.
  • L — 011.
  • Spacja – 101, a następnie otrzymujesz:

MAMA MYDŁO LAMU → 000001000001101000010011001101011001000100

Ta wiadomość ma długość 42 bitów. Chociaż jest dłuższy niż pierwszy, który ma tylko 22 bity, znacznie łatwiej jest rozłożyć go na pojedyncze słowa w celu zdekodowania:

000 001 000 001 101 000 010 011 001 101 011 001 000 100

M A M A M Y L A   L A M U 

Chociaż takiego jednolitego kodu nie można nazwać ekonomicznym, można go jednoznacznie rozszyfrować.

Film o konwersji liter na kod binarny

Nierówne kody

Nierówny kod binarny – co to jest? Czasami jest używany do skracania długości wiadomości. W niejednolitym kodzie słowo kodowe odpowiadające określonemu znakowi w alfabecie może różnić się długością od innych słów.

Na przykład, jeśli użyjesz następującego kodu do zakodowania „Mama namydliła lamę”:

  • M-01.
  • A – 00.
  • Y — 1011
  • Ł — 100.
  • U-1010.
  • Przestrzeń – 11, okaże się:

MAMA MYDŁO LAMU → 0100010011011011100001110000011010

Wiadomość ta składa się z 34 bitów. Ten ciąg bitów można jednoznacznie rozszyfrować, ponieważ w pierwszej literze – M, która ma kod 01, kod jest unikalny, ponieważ inne słowa kodowe nie zaczynają się od 01. W ten sam sposób można określić drugą literę – A. Właściwość, gdy słowa kodowe nie pasują do początku innych słów kodowych, nazywana jest warunkiem Fano, a kody dekodowane przy użyciu właściwości Fano nazywane są kodami prefiksowymi.

Kody prefiksowe mają ważne znaczenie praktyczne – za ich pomocą znaki odbieranych wiadomości są dekodowane w momencie ich nadejścia, bez czekania, aż cała wiadomość dotrze do odbiorcy.

Rodzaje kodów binarnych

Aby reprezentować liczby całkowite, istnieją następujące typy kodów binarnych:

  • Ikonowy.
  • Niepodpisany.

Liczby ujemne można przedstawić tylko w formie podpisanej. Liczby całkowite są przechowywane w komputerze w formacie stałoprzecinkowym.

Niepodpisane kody

W kodach binarnych typu integer bez znaku wszystkie cyfry binarne są reprezentowane z potęgą 2:

Tłumaczenie informacji na kod binarny - co to jest, jakie są rodzaje, dekodowanie

Wartość minimalnej możliwej liczby wynosi zero, a maksimum określa wzór:

Tłumaczenie informacji na kod binarny - co to jest, jakie są rodzaje, dekodowanie

Te dwie liczby określają zakres liczb reprezentowanych w kodzie binarnym.

  • Jeżeli prezentowana jest ośmiocyfrowa liczba całkowita bez znaku, to zakres liczb zapisywany jest kodem: 0…255.
  • Jeśli przedstawiony jest szesnastocyfrowy kod – 0 … 65535.

W ośmiobitowych procesorach takie liczby są przechowywane w dwóch komórkach pamięci, które znajdują się w sąsiednich adresach. Praca z takimi liczbami odbywa się za pomocą specjalnych poleceń.

Podpisz kody

W bezpośrednich kodach liczb całkowitych ze znakiem reprezentacja znaku liczby odbywa się za pomocą najbardziej znaczącej cyfry w słowie. W przypadku bezpośredniego kodu znakowego zero jest używane do wskazania znaku „+”, a jedynka do wskazania znaku „-“. Wprowadzenie bitu znaku spowoduje przesunięcie zakresu liczb w kierunku wartości ujemnych.

  • Binarna ośmiobitowa liczba całkowita ze znakiem jest zapisywana przy użyciu następującego zakresu: -127…+127.
  • Szesnastocyfrowy kod zostanie zapisany w zakresie: -32767…+32767.

W procesorach ośmiobitowych takie liczby są również przechowywane w dwóch komórkach pamięci, których adresy znajdują się obok siebie.

Wadą tego kodu jest konieczność oddzielnego przetwarzania bitów znakowych i cyfrowych. Programy działające w takich algorytmach są dość złożone. Aby wybrać i zmienić bit znaku, będziesz musiał zastosować metodę maskowania bitów, co prowadzi do zwiększenia rozmiaru programu i zmniejszenia jego wydajności. Aby zapobiec różnicom w algorytmie przetwarzania bitów cyfrowych i znakowych, stosuje się odwrotne kody binarne.

Różnica między odwróconymi kodami binarnymi ze znakiem a kodami bezpośrednimi polega na tworzeniu liczb ujemnych poprzez odwrócenie wszystkich bitów liczb. Jednak bity cyfrowe i znakowe nie różnią się. Takie kody mogą znacznie uprościć algorytm pracy.

Mimo to praca z kodami odwrotnymi wymaga specjalnego algorytmu w celu rozpoznawania znaków, obliczania wartości bezwzględnych liczb i przywracania znaku wyniku liczby. Ponadto bezpośredni kod odwrotny liczby wymaga użycia dwóch kodów do zapamiętania zera w czasie, gdy wiadomo, że zero jest liczbą dodatnią i nigdy nie może być ujemne.

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów