08. 06.2018

Blog Dmitrija Vassiyarova.

Kod binarny - gdzie i jak jest używany?

Dziś szczególnie się cieszę, że mogę was poznać, drodzy czytelnicy, bo czuję się jak nauczyciel, który już na pierwszej lekcji zaczyna wprowadzać klasę w litery i cyfry. A ponieważ żyjemy w świecie technologii cyfrowych, powiem Wam czym jest kod binarny, który jest ich podstawą.

Zacznijmy od terminologii i dowiedzmy się, co oznacza binarny. Dla wyjaśnienia wróćmy do naszego zwykłego rachunku różniczkowego, który nazywa się „dziesiętny”. Oznacza to, że używamy 10 cyfr, które umożliwiają wygodne operowanie różnymi numerami i prowadzenie odpowiedniej ewidencji.

Zgodnie z tą logiką system binarny przewiduje użycie tylko dwóch znaków. W naszym przypadku jest to po prostu „0” (zero) i „1”. I tu chcę ostrzec, że hipotetycznie na ich miejscu mogą być inne konwencje, ale właśnie takie wartości, oznaczające brak (0, pusty) i obecność sygnału (1 lub „różdżka”), pomogą lepiej zrozumieć strukturę kodu binarnego.

Dlaczego potrzebujemy kodu binarnego?

Przed pojawieniem się komputerów stosowano różne systemy automatyczne, których zasada działania opierała się na odbieraniu sygnału. Czujnik jest wyzwalany, obwód jest zamknięty, a pewne urządzenie jest włączone. Brak prądu w obwodzie sygnałowym - brak działania. To właśnie urządzenia elektroniczne umożliwiły postęp w przetwarzaniu informacji reprezentowanych przez obecność lub brak napięcia w obwodzie.

Ich dalsza komplikacja doprowadziła do pojawienia się pierwszych procesorów, które również wykonały swoją pracę, przetwarzając już w pewien sposób sygnał składający się z naprzemiennych impulsów. Nie będziemy teraz wchodzić w szczegóły oprogramowania, ale ważne dla nas jest to, że urządzenia elektroniczne okazały się być w stanie odróżnić daną sekwencję przychodzących sygnałów. Oczywiście możliwe jest opisanie kombinacji warunkowej w ten sposób: „jest sygnał”; "brak sygnału"; „jest sygnał”; „jest sygnał”. Możesz nawet uprościć notację: „jest”; "Nie"; "jest"; "jest".

Ale o wiele łatwiej jest wskazać obecność sygnału jednostką „1”, a jego brak zerem „0”. Wtedy zamiast tego wszystkiego możemy użyć prostego i zwięzłego kodu binarnego: 1011.

Oczywiście technologia procesorowa posunęła się daleko do przodu i teraz chipy są w stanie odbierać nie tylko sekwencję sygnałów, ale całe programy napisane przez określone polecenia składające się z pojedynczych znaków.

Ale do ich zapisu używany jest ten sam kod binarny, składający się z zer i jedynek, odpowiadający obecności lub braku sygnału. Nie ma znaczenia, czy istnieje, czy nie. W przypadku chipa każda z tych opcji jest pojedynczą informacją, zwaną „bitem” (bit jest oficjalną jednostką miary).

Konwencjonalnie znak może być zakodowany przez sekwencję kilku znaków. Dwa sygnały (lub ich brak) mogą opisywać tylko cztery opcje: 00; 01;10; 11. Ta metoda kodowania nazywana jest dwubitową. Ale może to być również:

  • Czterobitowy (jak w przykładzie w akapicie powyżej 1011) pozwala na zapisanie 2 ^ 4 = 16 kombinacji znaków;
  • Osiem bitów (na przykład: 0101 0011; 0111 0001). Kiedyś było to najbardziej interesujące dla programowania, ponieważ obejmowało 2^8 = 256 wartości. Umożliwiło to opisanie wszystkich cyfr dziesiętnych, alfabetu łacińskiego i znaków specjalnych;
  • Szesnastobitowy (1100 1001 0110 1010) lub nowszy. Ale rekordy o tak dużej długości są już przeznaczone do nowoczesnych, bardziej złożonych zadań. Nowoczesne procesory wykorzystują architektury 32- i 64-bitowe;

Szczerze mówiąc, nie ma jednej oficjalnej wersji, tak się złożyło, że to właśnie kombinacja ośmiu znaków stała się standardową miarą przechowywanych informacji, zwanych „bajtami”. Może to dotyczyć nawet pojedynczej litery zapisanej w 8-bitowym kodzie binarnym. Tak więc, moi drodzy przyjaciele, pamiętajcie (jeśli ktoś nie wiedział):

8 bitów = 1 bajt.

Tak akceptowane. Chociaż znak zapisany jako wartość 2-bitowa lub 32-bitowa może być również nominalnie nazwany bajtem. Nawiasem mówiąc, dzięki kodowi binarnemu możemy oszacować objętość plików mierzoną w bajtach oraz szybkość przesyłania informacji i Internetu (bity na sekundę).

Kodowanie binarne w akcji

Aby ujednolicić zapis informacji dla komputerów, opracowano kilka systemów kodowania, z których jeden stał się szeroko rozpowszechniony ASCII, oparty na zapisie 8-bitowym. Wartości w nim rozłożone są w szczególny sposób:

  • pierwsze 31 znaków to znaki kontrolne (od 00000000 do 00011111). Służy do poleceń serwisowych, wyjścia na drukarkę lub ekran, sygnałów dźwiękowych, formatowania tekstu;
  • następujące od 32 do 127 (00100000 - 01111111) alfabet łaciński oraz symbole pomocnicze i znaki interpunkcyjne;
  • reszta, do 255. (10000000 - 11111111) - alternatywa, część tabeli do zadań specjalnych i wyświetlanie alfabetów narodowych;

Interpretację zawartych w nim wartości przedstawiono w tabeli.

Jeśli uważasz, że „0” i „1” znajdują się w chaotycznej kolejności, to głęboko się mylisz. Na przykładzie dowolnej liczby pokażę wzór i nauczę odczytywać liczby zapisane w kodzie binarnym. Ale w tym celu zaakceptujemy pewne warunki:

  • Bajt składający się z 8 znaków zostanie odczytany od prawej do lewej;
  • Jeśli w zwykłych liczbach używamy cyfr jednostek, dziesiątek, setek, to tutaj (czytając w odwrotnej kolejności) dla każdego bitu są różne potęgi „dwójki”: 256-124-64-32-16-8-4-2- 1;
  • Teraz patrzymy na kod binarny liczby, na przykład 00011011. Tam, gdzie w odpowiedniej pozycji znajduje się sygnał „1”, bierzemy wartości tego bitu i sumujemy je w zwykły sposób. Odpowiednio: 0+0+0+32+16+0+2+1 = 51. Poprawność tej metody można zweryfikować patrząc na tabelę kodów.

Teraz, moi dociekliwi przyjaciele, nie tylko wiecie, czym jest kod binarny, ale także wiecie, jak przekonwertować zaszyfrowane przez niego informacje.

Język zrozumiały dla nowoczesnej technologii

Oczywiście algorytm odczytywania kodu binarnego przez urządzenia procesorowe jest znacznie bardziej skomplikowany. Ale z jego pomocą możesz napisać co tylko chcesz:

  • Informacje tekstowe z opcjami formatowania;
  • Liczby i wszelkie operacje na nich;
  • Obrazy graficzne i wideo;
  • Dźwięki, w tym te, które wykraczają poza nasz słuch;

Dodatkowo ze względu na prostotę „prezentacji” możliwe są różne sposoby zapisu informacji binarnych:

  • Zmiana pola magnetycznego przez ;
  • Dopełnieniem zalet kodowania binarnego są niemal nieograniczone możliwości przesyłania informacji na dowolną odległość. To właśnie ta metoda komunikacji jest używana ze statkami kosmicznymi i sztucznymi satelitami.

    Tak więc dzisiaj system binarny jest językiem, który rozumie większość używanych przez nas urządzeń elektronicznych. A co najciekawsze, nie przewidziano dla niego jeszcze innej alternatywy.

    Myślę, że podane przeze mnie informacje wystarczą na początek. A potem, jeśli zajdzie taka potrzeba, każdy będzie mógł zagłębić się w samodzielne studium tego tematu.

    Pożegnam się i po krótkiej przerwie przygotuję dla Was nowy artykuł na moim blogu na jakiś ciekawy temat.

    Lepiej jak sam mi powiesz ;)

    Do zobaczenia wkrótce.

    Komputery nie rozumieją słów i liczb tak jak ludzie. Nowoczesne oprogramowanie pozwala użytkownikowi końcowemu to zignorować, ale na najniższych poziomach komputer działa z binarnym sygnałem elektrycznym, który ma tylko dwa stany: jest prąd lub brak prądu. Aby „zrozumieć” złożone dane, komputer musi je zakodować w postaci binarnej.

    System binarny opiera się na dwóch cyfrach, 1 i 0, odpowiadających stanom włączenia i wyłączenia, które komputer może zrozumieć. Prawdopodobnie znasz system dziesiętny. Wykorzystuje dziesięć cyfr, od 0 do 9, a następnie przechodzi do następnego porządku, tworząc liczby dwucyfrowe, przy czym cyfra z każdego zamówienia jest dziesięciokrotnie większa od poprzedniej. System binarny jest podobny, a każda cyfra jest dwa razy większa niż poprzednia.

    Liczenie w systemie binarnym

    W systemie binarnym pierwsza cyfra odpowiada 1 w systemie dziesiętnym. Druga cyfra to 2, trzecia to 4, czwarta to 8 i tak dalej — za każdym razem podwajając. Dodanie wszystkich tych wartości da ci liczbę w formacie dziesiętnym.

    1111 (binarny) = 8 + 4 + 2 + 1 = 15 (dziesiętny)

    Uwzględnienie 0 daje nam 16 możliwych wartości dla czterech bitów binarnych. Przesuń 8 bitów, a otrzymasz 256 możliwych wartości. Zajmuje to znacznie więcej miejsca do przedstawienia, ponieważ cztery cyfry dziesiętne dają nam 10 000 możliwych wartości. Oczywiście kod binarny zajmuje więcej miejsca, ale komputery znacznie lepiej rozumieją pliki binarne niż system dziesiętny. A w przypadku niektórych rzeczy, takich jak przetwarzanie logiki, binarny jest lepszy niż dziesiętny.

    Należy powiedzieć, że istnieje inny podstawowy system, który jest używany w programowaniu: szesnastkowy. Chociaż komputery nie działają w systemie szesnastkowym, programiści używają go do reprezentowania adresów binarnych w formacie czytelnym dla człowieka podczas pisania kodu. Dzieje się tak, ponieważ dwie cyfry liczby szesnastkowej mogą reprezentować cały bajt, to znaczy zastępują osiem cyfr w systemie binarnym. System szesnastkowy wykorzystuje cyfry 0-9, a także litery od A do F, aby uzyskać dodatkowe sześć cyfr.

    Dlaczego komputery używają plików binarnych

    Krótka odpowiedź: sprzęt i prawa fizyki. Każda postać w twoim komputerze jest sygnałem elektrycznym, a we wczesnych dniach informatyki mierzenie sygnałów elektrycznych było znacznie trudniejsze. Rozsądniejsze było rozróżnienie między tylko stanem „włączonym”, reprezentowanym przez ładunek ujemny, a stanem „wyłączonym”, reprezentowanym przez ładunek dodatni.

    Dla tych, którzy nie wiedzą, dlaczego „off” jest reprezentowane przez ładunek dodatni, dzieje się tak dlatego, że elektrony mają ładunek ujemny, a więcej elektronów oznacza większy prąd z ładunkiem ujemnym.

    W związku z tym używane były wczesne komputery wielkości pokoju pliki binarne do budowy swoich systemów i chociaż używali starszego, masywniejszego sprzętu, działali na tych samych podstawowych zasadach. Współczesne komputery wykorzystują to, co się nazywa tranzystor do wykonywania obliczeń z kodem binarnym.

    Oto schemat typowego tranzystora:

    Zasadniczo umożliwia przepływ prądu ze źródła do drenu, jeśli w bramce jest prąd. To tworzy klucz binarny. Producenci mogą wyprodukować te tranzystory tak małe jak 5 nanometrów lub tak małe jak dwie nici DNA. Tak działają współczesne procesory, a nawet one mogą mieć problemy z rozróżnianiem stanów włączonych i wyłączonych (choć wynika to z ich nierealistycznej wielkości cząsteczek, z zastrzeżeniem osobliwości mechaniki kwantowej).

    Dlaczego tylko system binarny

    Możesz więc pomyśleć: „Dlaczego tylko 0 i 1? Dlaczego nie dodać kolejnego numeru? Chociaż częściowo wynika to z tradycji tworzenia komputerów, jednocześnie dodanie jeszcze jednej cyfry oznaczałoby konieczność podkreślenia jeszcze jednego stanu obecnego, a nie tylko „wyłączony” lub „włączony”.

    Problem polega na tym, że jeśli chcesz używać wielu poziomów napięcia, potrzebujesz sposobu na łatwe wykonywanie obliczeń z nimi, a nowoczesny sprzęt, który to potrafi, nie jest opłacalny jako zamiennik obliczeń binarnych. Na przykład istnieje tzw potrójny komputer, opracowany w latach pięćdziesiątych, ale na tym rozwój się zatrzymał. Logika trójczłonowa bardziej wydajny niż binarny, ale nie ma jeszcze skutecznego zamiennika dla tranzystora binarnego, a przynajmniej nie ma tranzystora tak małego jak binarny.

    Powód, dla którego nie możemy używać logiki trójskładnikowej, sprowadza się do tego, jak tranzystory są połączone w komputerze i jak są używane do obliczeń matematycznych. Tranzystor odbiera informacje na dwóch wejściach, wykonuje operację i zwraca wynik na jedno wyjście.

    Zatem matematyka binarna jest łatwiejsza dla komputera niż cokolwiek innego. Logika binarna jest łatwo konwertowana na systemy binarne, przy czym prawda i fałsz odpowiadają stanom włączenia i wyłączenia.

    Binarna tabela prawdy działająca na logice binarnej będzie miała cztery możliwe wyjścia dla każdej podstawowej operacji. Ale ponieważ potrójne bramki używają trzech wejść, potrójna tabela prawdy miałaby 9 lub więcej. Podczas gdy system binarny ma 16 możliwych operatorów (2^2^2), system trójskładnikowy miałby 19683 (3^3^3). Skalowanie staje się problemem, ponieważ chociaż trójca jest bardziej wydajna, jest również wykładniczo bardziej złożona.

    Kto wie? W przyszłości możemy bardzo dobrze zobaczyć komputery trójskładnikowe, ponieważ logika binarna napotkała problemy miniaturyzacji. Na razie świat będzie nadal działał w trybie binarnym.

    Tłumacz binarny to narzędzie do tłumaczenia kodu binarnego na tekst do czytania lub drukowania. Możesz przetłumaczyć plik binarny na angielski za pomocą dwóch metod; ASCII i Unicode.

    System liczb binarnych

    System dekodera binarnego oparty jest na liczbie 2 (podstawa). Składa się tylko z dwóch liczb w systemie liczbowym base-2: 0 i 1.

    Chociaż system binarny był używany do różnych celów w starożytnym Egipcie, Chinach i Indiach, stał się językiem elektroniki i komputerów we współczesnym świecie. Jest to najbardziej wydajny system wykrywania stanu wyłączenia (0) i włączenia (1) sygnału elektrycznego. Jest to również podstawa kodu binarnego na tekst, który jest używany w komputerach do komponowania danych. Nawet tekst cyfrowy, który obecnie czytasz, składa się z liczb binarnych. Ale możesz przeczytać ten tekst, ponieważ transkrybowaliśmy kod binarny pliku tłumaczenia za pomocą kodu binarnego słowa.

    Co to jest ASCII?

    ASCII to standard kodowania znaków w komunikacji elektronicznej, skrót od American Standard Code for Information Interchange. W komputerach, sprzęcie telekomunikacyjnym i innych urządzeniach kody ASCII reprezentują tekst. Chociaż obsługiwanych jest wiele dodatkowych znaków, większość nowoczesnych schematów kodowania znaków opiera się na ASCII.

    ASCII to tradycyjna nazwa systemu kodowania; Internet Assigned Numbers Authority (IANA) preferuje zaktualizowaną nazwę US-ASCII, która wyjaśnia, że ​​system został opracowany w Stanach Zjednoczonych i opiera się głównie na znakach typograficznych. ASCII jest jednym z najważniejszych punktów IEEE.

    Binarny do ASCII

    Pierwotnie oparty na alfabecie angielskim, ASCII koduje 128 określonych siedmiobitowych znaków całkowitych. Można wydrukować 95 zakodowanych znaków, w tym cyfry od 0 do 9, małe litery od a do z, wielkie litery od A do Z oraz znaki interpunkcyjne. Ponadto w oryginalnej specyfikacji ASCII uwzględniono 33 niedrukowalne kody kontrolne wyprodukowane przez maszyny Teletype; większość z nich jest już przestarzała, chociaż niektóre są nadal powszechnie używane, takie jak powrót karetki, znaki nowego wiersza i kody tabulatorów.

    Na przykład liczba dwójkowa 1101001 = szesnastkowa 69 (i to dziewiąta litera) = dziesiętna 105 oznaczałaby małą literę I ASCII.

    Korzystanie z ASCII

    Jak wspomniano powyżej, za pomocą ASCII możesz przetłumaczyć tekst komputerowy na tekst ludzki. Mówiąc najprościej, jest to tłumacz z binarnego na angielski. Wszystkie komputery otrzymują wiadomości binarne, serie 0 i 1. Jednak tak jak angielski i hiszpański mogą używać tego samego alfabetu, ale mają zupełnie inne słowa dla wielu podobnych słów, komputery również mają własną wersję językową. ASCII jest używany jako metoda umożliwiająca wszystkim komputerom wymianę dokumentów i plików w tym samym języku.

    ASCII jest ważne, ponieważ komputery otrzymały wspólny język podczas projektowania.

    W 1963 roku ASCII został po raz pierwszy użyty komercyjnie jako siedmiobitowy kod dalekopisu dla amerykańskiej sieci Telephone & Telegraph TWX (Teletype Writer eXchange). TWX początkowo używał poprzedniego pięciobitowego ITA2, który był również używany przez konkurencyjny system teledrukarek Telex. Bob Behmer wprowadził funkcje, takie jak sekwencja ucieczki. Według Behmera, jego brytyjski kolega Hugh MacGregor Ross pomógł spopularyzować tę pracę – „tak bardzo, że kod, który stał się ASCII, został po raz pierwszy nazwany w Europie kodem Behmera-Rossa”. Ze względu na swoją rozległą pracę w zakresie ASCII, Boehmer został nazwany „Ojcem ASCII”.

    Do grudnia 2007 r., kiedy kodowanie UTF-8 go wyprzedziło, ASCII było najpopularniejszym kodowaniem znaków w sieci WWW; UTF-8 jest wstecznie kompatybilny z ASCII.

    UTF-8 (Unicode)

    UTF-8 to kodowanie znaków, które może być tak zwarte jak ASCII, ale może również zawierać dowolne znaki Unicode (z pewnym wzrostem rozmiaru pliku). UTF to format konwersji Unicode. „8” oznacza reprezentację znaków przy użyciu bloków 8-bitowych. Liczba bloków, które znak musi reprezentować, waha się od 1 do 4. Jedną z naprawdę fajnych rzeczy w UTF-8 jest to, że jest kompatybilny z łańcuchami zakończonymi znakiem NULL. Po zakodowaniu żaden znak nie będzie miał bajtu null(0).

    Unicode i ISO/IEC 10646 Universal Character Set (UCS) mają znacznie szerszy zakres znaków, a ich różne formy kodowania zaczęły szybko zastępować ISO/IEC 8859 i ASCII w wielu sytuacjach. Podczas gdy ASCII jest ograniczone do 128 znaków, Unicode i UCS obsługują więcej znaków, oddzielając unikalne koncepcje identyfikacji (przy użyciu liczb naturalnych zwanych punktami kodowymi) i kodowania (do formatów binarnych UTF-8, UTF-16 i UTF-32-bit). ) .

    Różnica między ASCII a UTF-8

    ASCII zostało uwzględnione jako pierwsze 128 znaków w zestawie znaków Unicode (1991), więc 7-bitowe znaki ASCII w obu zestawach mają te same kody numeryczne. Umożliwia to zgodność UTF-8 z 7-bitowym ASCII, ponieważ plik UTF-8 zawierający tylko znaki ASCII jest identyczny z plikiem ASCII o tej samej sekwencji znaków. Co ważniejsze, zapewniona jest kompatybilność w przód, ponieważ oprogramowanie, które rozpoznaje tylko 7-bitowe znaki ASCII jako specjalne i nie modyfikuje bajtów z najwyższym ustawionym bitem (co często ma miejsce w celu obsługi 8-bitowych rozszerzeń ASCII, takich jak ISO-8859 -1) zachowa niezmodyfikowane dane UTF-8.

    Aplikacje do tłumaczenia binarnego

    Najczęstsze zastosowanie tego systemu liczbowego można zaobserwować w technologii komputerowej. W końcu podstawą całego języka komputerowego i programowania jest dwucyfrowy system liczbowy używany w kodowaniu cyfrowym.

    Na tym polega proces cyfrowego kodowania, pobierania danych, a następnie renderowania ich za pomocą ograniczonych bitów informacji. Ograniczona informacja składa się z zer i jedynek systemu binarnego. Przykładem są obrazy na ekranie komputera. Do zakodowania tych obrazów dla każdego piksela używany jest ciąg binarny.

    Jeśli ekran używa kodu 16-bitowego, każdy piksel otrzyma instrukcje, który kolor ma być wyświetlany w oparciu o bity 0 i 1. W wyniku otrzymujemy ponad 65 000 kolorów reprezentowanych przez 2^16. znaleźć zastosowania binarnych systemów liczbowych w dziedzinie matematyki znanej jako algebra Boole'a.

    Do tego obszaru matematyki należą wartości logiki i prawdy. W tej aplikacji wyrażeniom przypisuje się 0 lub 1 w zależności od tego, czy są prawdziwe, czy fałszywe. Możesz wypróbować konwersję binarną na tekst, dziesiętną na binarną, konwersję binarną na dziesiętną, jeśli szukasz narzędzia, które pomoże w tej aplikacji.

    Zaleta systemu liczb binarnych

    System liczb binarnych jest przydatny do wielu rzeczy. Na przykład komputer przełącza przełączniki, aby dodać liczby. Możesz zachęcić do dodania komputera, dodając do systemu liczby binarne. Obecnie istnieją dwa główne powody używania tego systemu numeracji komputerów. Po pierwsze, może zapewnić niezawodność zakresu bezpieczeństwa. Po drugie, a co najważniejsze, pomaga zminimalizować potrzebne obwody. Zmniejsza to wymaganą przestrzeń, zużycie energii i koszty.

    Możesz kodować lub tłumaczyć wiadomości binarne zapisane w liczbach binarnych. Na przykład,

    (01101001) (01101100011011110111011001100101) (011110010110111101110101) to zdekodowana wiadomość. Gdy skopiujesz i wkleisz te liczby do naszego translatora binarnego, otrzymasz następujący tekst w języku angielskim:

    Kocham cię

    To znaczy

    (01101001) (01101100011011110111011001100101) (011110010110111101110101) = Kocham cię

    stoły

    dwójkowy

    szesnastkowy

    Pojedynczy sygnał cyfrowy nie jest zbyt pouczający, ponieważ może przyjmować tylko dwie wartości: zero i jeden. Dlatego w przypadkach, gdy konieczne jest przesyłanie, przetwarzanie lub przechowywanie dużej ilości informacji, zwykle stosuje się kilka równoległych sygnałów cyfrowych. Co więcej, wszystkie te sygnały należy rozpatrywać tylko jednocześnie, każdy z nich z osobna nie ma sensu. W takich przypadkach mówi się o kodach binarnych, czyli kodach tworzonych przez sygnały cyfrowe (logiczne, binarne). Każdy z sygnałów logicznych zawartych w kodzie jest nazywany bitem. Im więcej cyfr zawiera kod, tym więcej wartości ten kod może przyjąć.

    W przeciwieństwie do znanego nam dziesiętnego kodowania liczb, czyli kodu o podstawie dziesiątej, z kodowaniem binarnym, podstawą kodu jest liczba dwa (ryc. 2.9). Oznacza to, że każda cyfra kodu (każda cyfra) kodu binarnego nie może przyjmować dziesięciu wartości (jak w kodzie dziesiętnym: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) , ale tylko dwa - 0 i 1. System notacji pozycyjnej pozostaje taki sam, to znaczy najmłodszy bit jest zapisywany po prawej, a najstarszy po lewej. Ale jeśli w systemie dziesiętnym waga każdej kolejnej cyfry jest dziesięć razy większa od wagi poprzedniej, to w systemie dwójkowym (z kodowaniem binarnym) jest to dwa razy. Każda cyfra kodu binarnego nazywana jest bitem (od angielskiego „Binary Digit” - „binary number”).

    Ryż. 2.9. Kodowanie dziesiętne i binarne

    W tabeli. 2.3 pokazuje zgodność pierwszych dwudziestu liczb w systemie dziesiętnym i binarnym.

    Z tabeli wynika, że ​​wymagana liczba bitów kodu binarnego jest znacznie większa niż wymagana liczba bitów kodu dziesiętnego. Maksymalna możliwa liczba z liczbą cyfr równą trzy to 999 w systemie dziesiętnym, a tylko 7 w systemie binarnym (czyli 111 w kodzie binarnym). Ogólnie rzecz biorąc, n-bitowa liczba binarna może przyjmować 2 n różnych wartości, a n-bitowa liczba dziesiętna może przyjmować 10 n wartości. Oznacza to, że pisanie dużych liczb binarnych (z więcej niż dziesięcioma cyframi) nie jest zbyt wygodne.

    Tabela 2.3. Zgodność liczb w systemie dziesiętnym i dwójkowym
    System dziesiętny System binarny System dziesiętny System binarny

    W celu uproszczenia zapisu liczb binarnych zaproponowano tzw. system szesnastkowy (kodowanie szesnastkowe). W tym przypadku wszystkie cyfry binarne są dzielone na grupy po cztery cyfry (zaczynając od najmniej znaczącej), a następnie każda grupa jest kodowana jednym znakiem. Każda taka grupa nazywa się skubać(lub skubać, tetrada) i dwie grupy (8 bitów) - bajt. Z tabeli. Rysunek 2.3 pokazuje, że 4-bitowa liczba binarna może przyjmować 16 różnych wartości (od 0 do 15). Dlatego wymagana liczba znaków dla kodu szesnastkowego to również 16, skąd pochodzi nazwa kodu. Jako pierwsze 10 znaków przyjmuje się liczby od 0 do 9, a następnie stosuje się 6 początkowych wielkich liter alfabetu łacińskiego: A, B, C, D, E, F.

    Ryż. 2.10. Zapis liczb binarnych i szesnastkowych

    W tabeli. 2.4 pokazuje przykłady szesnastkowego kodowania pierwszych 20 liczb (liczby binarne podano w nawiasach), a na ryc. 2.10 pokazuje przykład zapisu liczby binarnej w postaci szesnastkowej. Aby oznaczyć kodowanie szesnastkowe, litera „h” lub „H” (z angielskiego Hexadecimal) jest czasami używana na końcu liczby, na przykład notacja A17F h oznacza liczbę szesnastkową A17F. Tutaj A1 jest starszym bajtem liczby, a 7F jest młodszym bajtem liczby. Cała liczba (w naszym przypadku liczba dwubajtowa) jest nazywana słowo.

    Tabela 2.4. Szesnastkowy system kodowania
    System dziesiętny system szesnastkowy System dziesiętny system szesnastkowy
    0 (0) (1010)
    1(1) B(1011)
    2 (10) C (1100)
    3 (11) D(1101)
    4 (100) E (1110)
    5 (101) F(1111)
    6 (110) 10 (10000)
    7 (111) 11 (10001)
    8 (1000) 12 (10010)
    9 (1001) 13 (10011)

    Aby zamienić liczbę szesnastkową na dziesiętną, należy pomnożyć wartość najmniej znaczącej (zerowej) cyfry przez jeden, wartość następnej (pierwszej) cyfry przez 16, drugiej cyfry przez 256 (162) itd. , a następnie dodaj wszystkie produkty. Na przykład weź numer A17F:

    A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

    Ale każdy specjalista od sprzętu cyfrowego (projektant, operator, mechanik, programista itp.) musi nauczyć się korzystać z systemów szesnastkowych i dwójkowych tak swobodnie, jak w przypadku zwykłego dziesiętnego, aby nie były wymagane żadne transfery z systemu do systemu.

    Oprócz rozważanych kodów istnieje również tak zwana binarno-dziesiętna reprezentacja liczb. Podobnie jak w kodzie szesnastkowym, w kodzie binarno-dziesiętnym każda cyfra kodu odpowiada czterem cyfrom binarnym, jednak każda grupa czterech cyfr binarnych może przyjąć nie szesnaście, a tylko dziesięć wartości, zakodowanych symbolami 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Oznacza to, że jedno miejsce dziesiętne odpowiada czterem dwójkowym. W rezultacie okazuje się, że zapisywanie liczb w binarnym kodzie dziesiętnym nie różni się od zapisywania w zwykłym kodzie dziesiętnym (Tabela 2.6), ale w rzeczywistości jest to tylko specjalny kod binarny, którego każda cyfra może przyjmować tylko dwie wartości: 0 i 1. BCD jest czasami bardzo przydatny do organizowania dziesiętnych wskaźników numerycznych i tablic wyników.

    Tabela 2.6. Binarny system kodowania dziesiętnego
    System dziesiętny Dziesiętny binarny System dziesiętny Dziesiętny binarny
    0 (0) 10 (1000)
    1(1) 11 (1001)
    2 (10) 12 (10010)
    3 (11) 13 (10011)
    4 (100) 14 (10100)
    5 (101) 15 (10101)
    6 (110) 16 (10110)
    7 (111) 17 (10111)
    8 (1000) 18 (11000)
    9 (1001) 19 (11001)

    W kodzie binarnym na liczbach można wykonywać dowolne operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie.

    Rozważmy na przykład dodanie dwóch 4-bitowych liczb binarnych. Dodajmy liczbę 0111 (dziesiętny 7) i 1011 (dziesiętny 11). Dodanie tych liczb nie jest trudniejsze niż notacja dziesiętna:

    Dodając 0 i 0 otrzymujemy 0, dodając 1 i 0 otrzymujemy 1, dodając 1 i 1 otrzymujemy 0 i przeniesienie do następnego bitu wynosi 1. Wynik to 10010 (miejsce dziesiętne 18). Dodając dowolne dwie n-bitowe liczby binarne, możesz uzyskać liczbę n-bitową lub (n + 1)-bitową.

    Odejmowanie odbywa się w ten sam sposób. Niech liczba 0111 (7) zostanie odjęta od liczby 10010 (18). Liczby piszemy wyrównane do najmniej znaczącej cyfry i odejmujemy tak samo jak w przypadku systemu dziesiętnego:

    Odjęcie 0 od 0 daje 0, odjęcie 0 od 1 daje 1, odjęcie 1 od 1 daje 0, odjęcie 1 od 0 daje 1, a pożyczenie 1 w następnej cyfrze. Wynik to 1011 (dziesiętne 11).

    Podczas odejmowania można uzyskać liczby ujemne, dlatego należy użyć binarnej reprezentacji liczb ujemnych.

    Do jednoczesnej reprezentacji zarówno binarnych liczb dodatnich, jak i binarnych liczb ujemnych, najczęściej używany jest tak zwany kod uzupełniający do dwóch. Liczby ujemne w tym kodzie są wyrażane przez liczbę, która po dodaniu do liczby dodatniej tej samej wielkości da zero. Aby otrzymać liczbę ujemną, musisz zamienić wszystkie bity tej samej liczby dodatniej na przeciwne (0 do 1, 1 do 0) i dodać do wyniku 1. Na przykład zapiszmy liczbę -5. Liczba 5 w kodzie binarnym wygląda jak 0101. Zamieniamy bity na przeciwne: 1010 i dodajemy jeden: 1011. Wynik sumujemy z pierwotną liczbą: 1011 + 0101 = 0000 (ignorujemy przeniesienie na piąty bit).

    Liczby ujemne w kodzie uzupełnienia do dwóch różnią się od dodatnich wartością najbardziej znaczącej cyfry: jedna w najbardziej znaczącej cyfrze oznacza liczbę ujemną, a zero dodatnią.

    Oprócz standardowych operacji arytmetycznych w systemie liczb binarnych stosuje się pewne specyficzne operacje, na przykład dodawanie modulo 2. Ta operacja (oznaczona przez A) jest bitowa, czyli nie ma transferów z bitu na bit i pożyczania w wysokiej bity tutaj. Zasady dodawania modulo 2 to: , , . Ta sama operacja nazywa się funkcją XOR. Na przykład zsumujmy modulo 2 dwie liczby binarne 0111 i 1011:

    Inne operacje bitowe na liczbach binarnych obejmują funkcję AND i funkcję OR. Funkcja AND daje jeden tylko wtedy, gdy odpowiednie bity dwóch oryginalnych liczb są jedynkami, w przeciwnym razie wynikiem jest -0. Funkcja OR daje jeden, gdy co najmniej jeden z odpowiadających bitów liczb oryginalnych wynosi 1, w przeciwnym razie wynikiem jest 0.

    Ta lekcja obejmie temat „Kodowanie informacji. Kodowanie binarne. Jednostki miary informacji”. Podczas niej użytkownicy będą mogli dowiedzieć się o kodowaniu informacji, sposobie postrzegania informacji przez komputery, ich jednostkach miary oraz kodowaniu binarnym.

    Temat:Informacje wokół nas

    Lekcja: Kodowanie informacji. Kodowanie binarne. Jednostki informacyjne

    Ta lekcja obejmie następujące pytania:

    1. Kodowanie jako zmiana formy prezentacji informacji.

    2. Jak komputer rozpoznaje informacje?

    3. Jak mierzyć informacje?

    4. Jednostki miary informacji.

    W świecie kodów

    Dlaczego ludzie kodują informacje?

    1. Ukryj to przed innymi (kryptografia lustrzana Leonarda da Vinci, szyfrowanie wojskowe).

    2. Zapisz informacje krótko (skrót, skrót, znaki drogowe).

    3. Dla łatwiejszego przetwarzania i transmisji (kod Morse'a, tłumaczenie na sygnały elektryczne - kody maszynowe).

    Kodowanie jest reprezentacją informacji przez jakiś kod.

    Kod to system symboli do prezentacji informacji.

    Sposoby kodowania informacji

    1. Grafika (patrz rys. 1) (za pomocą rysunków i znaków).

    Ryż. 1. System flag sygnałowych (Źródło)

    2. Numeryczne (za pomocą liczb).

    Na przykład: 11001111 11100101.

    3. Symboliczny (przy użyciu znaków alfabetycznych).

    Na przykład: NKMBM CHGYOU.

    Rozszyfrowanie - to działanie mające na celu przywrócenie pierwotnej formy prezentacji informacji. Aby odkodować, musisz znać kod i zasady kodowania.

    Środkiem kodowania i dekodowania jest tabela kodów korespondencji. Na przykład korespondencja w różnych systemach liczbowych - 24 - XXIV, korespondencja alfabetu z dowolnymi symbolami (ryc. 2).


    Ryż. 2. Przykład szyfru (Źródło)

    Przykłady kodowania informacji

    Przykładem kodowania informacji jest kod Morse'a (patrz rys. 3).

    Ryż. 3. Kod Morse'a ()

    Alfabet Morse'a używa tylko 2 znaków - kropki i myślnika (krótki i długi dźwięk).

    Innym przykładem kodowania informacji jest alfabet flag (patrz rys. 4).

    Ryż. 4. Alfabet flagi ()

    Przykładem jest również alfabet flag (patrz rys. 5).

    Ryż. 5. ABC flag ()

    Dobrze znanym przykładem kodowania jest alfabet muzyczny (patrz rys. 6).

    Ryż. 6. Alfabet muzyczny ()

    Rozważ następujący problem:

    Korzystając z tabeli alfabetu flag (patrz rys. 7), konieczne jest rozwiązanie następującego problemu:

    Ryż. 7

    Starszy asystent Scrap zdaje egzamin kapitanowi Vrungelowi. Pomóż mu przeczytać następujący tekst (patrz rysunek 8):

    Wokół nas są głównie dwa sygnały, na przykład:

    Sygnalizacja świetlna: czerwono-zielona;

    Pytanie: tak - nie;

    Lampa: włącz - wyłącz;

    To możliwe - to niemożliwe;

    Dobry zły;

    Prawda jest kłamstwem;

    Tam i z powrotem;

    Tak nie;

    Wszystko to są sygnały wskazujące ilość informacji w 1 bicie.

    1 bit - to ilość informacji, która pozwala nam wybrać jedną opcję z dwóch możliwych.

    Komputer to maszyna elektryczna działająca na obwodach elektronicznych. Aby komputer mógł rozpoznać i zrozumieć informacje wejściowe, muszą one zostać przetłumaczone na język komputera (maszyny).

    Algorytm przeznaczony dla wykonawcy musi być napisany, czyli zakodowany, w języku zrozumiałym dla komputera.

    Są to sygnały elektryczne: prąd płynie lub prąd nie płynie.

    Maszynowy język binarny - ciąg „0” i „1”. Każda liczba binarna może mieć wartość 0 lub 1.

    Każda cyfra maszynowego kodu binarnego zawiera ilość informacji równą 1 bitowi.

    Liczba binarna reprezentująca najmniejszą jednostkę informacji nazywa się b to . Bit może wynosić 0 lub 1. Obecność sygnału magnetycznego lub elektronicznego w komputerze oznacza 1, brak 0.

    Nazywa się ciąg 8 bitów b wysepka . Komputer przetwarza ten ciąg jako oddzielny znak (liczba, litera).

    Rozważ przykład. Słowo ALICE składa się z 5 liter, z których każda jest reprezentowana przez jeden bajt w języku komputerowym (patrz rys. 10). Więc Alicja może być mierzona jako 5 bajtów.

    Ryż. 10. Kod binarny (źródło)

    Oprócz bitów i bajtów istnieją inne jednostki informacji.

    Bibliografia

    1. Bosova L.L. Informatyka i ICT: Podręcznik do klasy 5. - M.: BINOM. Laboratorium wiedzy, 2012.

    2. Bosova L.L. Informatyka: Zeszyt ćwiczeń do klasy 5. - M.: BINOM. Laboratorium wiedzy, 2010.

    3. Bosova L.L., Bosova A.Yu. Lekcje informatyki w klasach 5-6: Przewodnik metodyczny. - M.: BINOM. Laboratorium wiedzy, 2010.

    2. Festiwal „Lekcja otwarta” ().

    Praca domowa

    1. §1.6, 1.7 (Bosova L.L. Informatics and ICT: Textbook for Grade 5).

    2. Strona 28, zadania 1, 4; s. 30, zadania 1, 4, 5, 6 (Bosova L.L. Informatics and ICT: Podręcznik do klasy 5).