620 Shares 1164 views

Kod binarny. Typy i długość kodu binarnego. Odwrotny kod binarny

Kod binarny jest formą zapisu informacji w formie jednostek i zer. Taki system kalkulacyjny jest ustawiony na podstawie bazy 2. Do tej pory kod binarny (przedstawiona poniżej tabela zawiera przykłady zapisu liczb) jest stosowany we wszystkich urządzeniach cyfrowych bez wyjątku. Popularność jest spowodowana wysoką niezawodnością i prostotą tej formy nagrywania. Bityczna arytmetyka jest bardzo prosta, dlatego jest łatwa do wdrożenia i na poziomie sprzętu. Cyfrowe komponenty elektroniczne (lub tak zwane logiczne) są bardzo wiarygodne, ponieważ działają one tylko w dwóch stanach: jednostce logicznej (jest prąd) i logicznej zerowej (nie ma prądu). Zatem różnią się one pozytywnie od analogowych elementów, których praca opiera się na przejściowych procesach.

Jak powstaje binarna forma rekordu?

Zobaczmy, jak powstaje ten klucz. Pojedynczy kod binarny może zawierać tylko dwa stany: zero i jeden (0 i 1). W przypadku użycia dwóch cyfr można zapisać cztery wartości: 00, 01, 10, 11. Trzystopniowy zapis zawiera osiem stanów: 000, 001 … 110, 111. W rezultacie długość kodu binarnego zależy od liczby cyfr. Wyrażenie to można zapisać przy użyciu następującego wzoru: N = 2m, gdzie: m jest liczbą cyfr, a N oznacza liczbę kombinacji.

Rodzaje kodów binarnych

W mikroprocesorach te klucze służą do rejestrowania różnych przetwarzanych informacji. Głębia bitowa kodu binarnego może znacznie przekroczyć głębokość bitową procesora i jego wbudowaną pamięć. W takich przypadkach długie numery zajmują kilka komórek pamięci i są przetwarzane przy użyciu kilku instrukcji. W takim przypadku wszystkie sektory pamięci przydzielone do wielobajtowego kodu binarnego traktowane są jako jeden numer. W zależności od potrzeby podania tej lub tej informacji rozróżniane są następujące klucze:

  • Bez podpisu;
  • Bezpośrednie kody znaków;
  • Podpisane do tyłu;
  • Podpisano dodatkowe;
  • Szary kod;
  • Kod Gray-Express;
  • Kody frakcyjne.

Zastanówmy się nad każdym szczegółem każdego z nich.

Niesklasyfikowany kod binarny

Zobaczmy jaki to jest rekord. W całych niezapisanych kresach każda cyfra (binarna) reprezentuje moc dwóch. W tym przypadku najmniejsza liczba, która może być zapisana w tym formularzu, wynosi zero, a maksymalna może być przedstawiona następującym wzorem: M = 2 n- 1. Te dwie liczby całkowicie definiują zakres klucza, który może wyrazić taki kod binarny. Rozważmy możliwości tej formy zapisu. Jeśli użyjesz tego typu niezapisanego klucza składającego się z ośmiu cyfr, zakres możliwych liczb będzie wynosił od 0 do 255. Szesnastkowy kod będzie mieć zakres od 0 do 65535. W procesorach ośmiobitowych używane są dwa sektory pamięci do przechowywania i zapisywania takich numerów, które znajdują się w sąsiednich destynacjach . Specjalne polecenia zapewniają pracę z takimi kluczami.

Bezpośrednie liczby kodów liczb całkowitych

W tego rodzaju kluczu binarnym najbardziej znaczący bit jest używany do zapisywania znaku liczby. Zerowy odpowiada plusowi, a jeden odpowiada znakowi minus. W wyniku wprowadzenia tej cyfry zakres kodowanych cyfr zostaje przesunięty na stronę ujemną. Okazuje się, że ośmiocyfrowy podpisany klucz binarny może pisać liczby w zakresie od -127 do +127. Szesnaście cyfr – w zakresie od -32767 do +32767. W ośmiobitowych mikroprocesorach służą do przechowywania takich kodów dwa sąsiednie sektory.

Wadą tej formy pisania jest to, że kluczowe i cyfrowe cyfry klucza muszą być przetwarzane oddzielnie. Algorytmy dla programów współpracujących z tymi kodami są bardzo złożone. Aby zmienić i przydzielić podpisane cyfry, musisz używać mechanizmów maskowania tego symbolu, co przyczynia się do ostrego wzrostu wielkości oprogramowania i zmniejsza jego wydajność. Aby wyeliminować tę wadę, wprowadzono nowy rodzaj klucza – odwrotny kod binarny.

Podpisany klucz odwrotny

Ta forma zapisu różni się od kodów bezpośrednich tylko tym, że uzyskuje się ujemną liczbę w wyniku odwrócenia wszystkich bitów klucza. Jednocześnie cyfrowe i podpisane cyfry są identyczne. Dzięki temu algorytmy pracy z takimi kodeksami są znacznie uproszczone. Jednakże klucz odwrotny wymaga specjalnego algorytmu rozpoznawania pierwszej cyfry, obliczającego bezwzględną wartość liczby. A także przywrócenie znaku uzyskanej wartości. Ponadto, w kodzie odwrotnym i przednim numeru zapisu zero należy użyć dwóch klawiszy. Pomimo tego, że ta wartość nie ma pozytywnego lub negatywnego znaku.

Podpisany dodatkowy kod binarny

Ten typ rekordu nie ma wymienionych wad poprzednich kluczy. Takie kody pozwalają na bezpośrednie sumowanie zarówno liczb dodatnich, jak i ujemnych. Jednocześnie nie przeprowadzono analizy odprowadzania śladów. Wszystko to stało się możliwe dzięki temu, że dodatkowe liczby reprezentują naturalny pierścień symboli, a nie sztuczne jednostki, takie jak klawisze bezpośrednie i odwrotne. Co więcej, ważnym czynnikiem jest to, że bardzo proste jest obliczenie dodatków w kodzie binarnym. W tym celu wystarczy dodać jeden z tyłu. Jeśli używasz tego rodzaju kodu składającego się z ośmiu cyfr, zakres możliwych liczb będzie wynosił od -128 do +127. Klucz szesnastkowy będzie miał zakres od -32768 do +32767. W procesorach ośmiobitowych dwa sąsiednie sektory są również używane do przechowywania takich numerów.

Binarny dodatkowy kod jest interesujący przez obserwowany efekt, nazywany zjawiskiem rozprzestrzeniania się znaku. Zobaczmy, co to znaczy. Efekt ten polega na tym, że podczas konwersji wartości pojedynczej bajty do bajtowej dwójki każdy bit bajtu wysokiego rzędu powinien być przypisany do wartości bitów znakowych najmniej znaczącego bajtu. Okazuje się, że do przechowywania znaku liczbowego można użyć starszych bitów. W takim przypadku wartość klawisza wcale się nie zmienia.

Szary kod

Ta forma zapisu w rzeczywistości jest kluczem jednostopniowym. Oznacza to, że podczas przejścia z jednej wartości do drugiej, zmienia się tylko jeden bit informacji. W takim przypadku błąd w odczytywaniu danych prowadzi do przejścia z jednej pozycji na drugą z lekkim przesunięciem czasowym. Jednakże uzyskanie całkowicie błędnego wyniku położenia kątowego w takim procesie jest całkowicie wyeliminowane. Zaletą tego kodu jest możliwość odzwierciedlania informacji. Na przykład, odwracając bity wysokiego rzędu, można po prostu zmienić kierunek liczenia. Jest to spowodowane wprowadzeniem danych wejściowych sterowania. W tym przypadku wartość wyjściowa może wzrastać lub maleć w jednym kierunku obrotu osi fizycznej. PoniewaŜ informacje zapisane w kluczu Szarym mają wyłącznie kodowany znak nieposiadający rzeczywistych danych liczbowych, przed dalszymi pracami konieczne jest ich przekształcenie w zwykły formularz zapisu binarnego. Odbywa się to za pomocą specjalnego konwertera – dekodera Gray-Binar. To urządzenie jest łatwo implementowane na podstawowych elementach logicznych, zarówno sprzętu, jak i oprogramowania.

Kod Gray-Express

Standardowy klucz jednopunktowy Szary jest odpowiedni do rozwiązań, które są reprezentowane jako liczby podniesione do mocy dwóch. W przypadkach, w których konieczne jest wdrożenie innych rozwiązań, ta forma zapisu jest wycinana i używana jest jedynie sekcja środkowa. W rezultacie klucz jest utrzymywany na jednym poziomie. Jednak w tym kodzie początek zakresu numerycznego nie jest równy zero. Przechodzi na określoną wartość. W procesie przetwarzania danych z generowanych impulsów odejmuje się połowę różnicy pomiędzy początkową i zredukowaną rozdzielczością.

Reprezentacja liczby ułamkowej w kluczu binarnym z przecinkami stałymi

W procesie pracy konieczne jest działanie nie tylko w liczbach całkowitych, ale także ułamkowych. Numery te można zapisywać za pomocą bezpośrednich, odwrotnych i dodatkowych kodów. Zasada konstruowania wspomnianych kluczy jest taka sama, jak dla całego klucza. Do tej pory wierzyliśmy, że przecinki binarne powinny znajdować się po prawej stronie niższego rzędu. Ale tak nie jest. Można go umieścić po lewej stronie najwyższego bitu (w tym przypadku tylko ułamkowe numery mogą być zapisywane jako zmienna), a na środku zmiennej (można pisać różne wartości).

Floating point binarna reprezentacja zmiennoprzecinkowa

Ten formularz służy do zapisywania dużych liczb lub odwrotnie – bardzo małych. Przykładem jest odległość międzygwiazdowa lub wielkość atomów i elektronów. Podczas obliczania takich wartości musielibyśmy używać kodu binarnego o bardzo dużej szerokości bitowej. Nie musimy jednak brać pod uwagę odległości kosmicznej do milimetra. W tym przypadku forma zapisu przy użyciu przecinków stałych jest nieskuteczna. W celu wyświetlenia takich kodów jest używany formularz algebraiczny. Oznacza to, że liczba jest zapisywana jako mantyzm pomnożona przez dziesięć do mocy, która odzwierciedla pożądany porządek liczby. Powinieneś wiedzieć, że mantysa nie powinna być więcej niż jedna, a po przecinku, zero nie powinno być rejestrowane.

To ciekawe.

Uważa się, że binarny rachunek został wynaleziony na początku 18 wieku przez matematyka z Niemiec Gottfried Leibniz. Jednakże, jak odkryli niedawno naukowcy, na długo przedtem istniały aborygeny polinezyjskiej wyspy Mangarev wykorzystywały ten rodzaj arytmetyki. Pomimo faktu, że kolonizacja prawie całkowicie zniszczyła oryginalne systemy rachunkowe, naukowcy przywrócili złożone binarne i dziesiętne typy kont. Ponadto naukowiec Cognitivist Nunez twierdzi, że kodowanie binarne było stosowane w starożytnych Chinach już w IX wieku pne. E. Inne starożytne cywilizacje, na przykład Maya Indians, wykorzystywały także złożone kombinacje systemów dziesiętnych i dwójkowych do śledzenia odstępów czasowych i zjawisk astronomicznych.