Zastanówmy się, jak to wszystko się robi konwertuj teksty na kod cyfrowy? Nawiasem mówiąc, na naszej stronie możesz przekonwertować dowolny tekst na kod dziesiętny, szesnastkowy lub binarny za pomocą kalkulatora kodów online.
Według teorii komputerów każdy tekst składa się z pojedynczych znaków. Znaki te obejmują: litery, cyfry, małe litery interpunkcyjne, znaki specjalne („”, №, () itp.), obejmują także spacje między wyrazami.
Niezbędna baza wiedzy. Zbiór symboli, za pomocą których piszę tekst, nazywa się ALFABETEM.
Liczba symboli w alfabecie reprezentuje jego moc.
Ilość informacji można wyznaczyć ze wzoru: N = 2b
Alfabet zawierający 256 może zawierać prawie wszystkie niezbędne znaki. Takie alfabety nazywane są WYSTARCZAJĄCYMI.
Jeśli weźmiemy alfabet o pojemności 256 i będziemy pamiętać, że 256 = 28
Jeśli przekonwertujesz każdy znak na kod binarny, wówczas ten komputerowy kod tekstowy zajmie 1 bajt.
Dowolny tekst wpisuje się na klawiaturze, na klawiszach klawiatury widzimy znane nam znaki (cyfry, litery itp.). Dostają się do pamięci RAM komputera jedynie w postaci kodu binarnego. Kod binarny każdego znaku wygląda jak liczba ośmiocyfrowa, na przykład 00111111.
Ponieważ bajt jest najmniejszym adresowalnym fragmentem pamięci, a pamięć adresowana jest do każdego znaku z osobna, wygoda takiego kodowania jest oczywista. Jednak 256 znaków to bardzo wygodna ilość dla jakiejkolwiek informacji symbolicznej.
Naturalnie pojawiło się pytanie: który dokładnie? ośmiocyfrowy kod należy do każdego znaku? A jak przekonwertować tekst na kod cyfrowy?
Ten proces jest warunkowy i mamy prawo wymyślić inny sposoby kodowania znaków. Każdy znak alfabetu ma swój numer od 0 do 255. Każdej liczbie przypisany jest kod od 00000000 do 11111111.
Tabela kodowania to „ściągawka”, w której znaki alfabetu są wskazane zgodnie z numerem seryjnym. Różne typy komputerów korzystają z różnych tabel kodowania.
ASCII (lub Asci) stał się międzynarodowym standardem dla komputerów osobistych. Stół składa się z dwóch części.
Pierwsza połowa przeznaczona jest dla tabeli ASCII. (To była pierwsza połowa, która stała się standardem.)
Zgodność z porządkiem leksykograficznym, czyli w tabeli litery (małe i wielkie) są wskazane w ścisłej kolejności alfabetycznej, a liczby w porządku rosnącym, nazywa się zasadą sekwencyjnego kodowania alfabetu.
W przypadku alfabetu rosyjskiego są one również przestrzegane zasada kodowania sekwencyjnego.
W naszych czasach używa się całości pięć systemów kodowania Alfabet rosyjski (KOI8-R, Windows. MS-DOS, Macintosh i ISO). Ze względu na liczbę systemów kodowania i brak jednego standardu bardzo często powstają nieporozumienia przy przenoszeniu tekstu rosyjskiego na jego postać komputerową.
Jeden z pierwszych standardy kodowania alfabetu rosyjskiego a na komputerach osobistych uznają KOI8 („Kod wymiany informacji, 8-bitowy”). To kodowanie było używane w połowie lat siedemdziesiątych w serii komputerów ES, a od połowy lat osiemdziesiątych zaczęto je stosować w pierwszych systemach operacyjnych UNIX przetłumaczonych na język rosyjski.
Od początku lat dziewięćdziesiątych, kiedy dominował tzw. system operacyjny MS DOS, pojawił się system kodowania CP866 („CP” oznacza „Code Page”).
Gigantyczne firmy komputerowe APPLE wraz ze swoim innowacyjnym systemem, w ramach którego pracowały (Mac OS), zaczynają wykorzystywać własny system kodowania alfabetu MAC.
Międzynarodowa Organizacja Normalizacyjna (ISO) wyznacza kolejny standard dla języka rosyjskiego alfabetyczny system kodowania, która nosi nazwę ISO 8859-5.
Najpopularniejszy obecnie system kodowania alfabetu został wynaleziony w systemie Microsoft Windows i nosi nazwę CP1251.
Od drugiej połowy lat dziewięćdziesiątych problem standardu tłumaczenia tekstu na kod cyfrowy dla języka rosyjskiego i nie tylko został rozwiązany poprzez wprowadzenie do standardu systemu o nazwie Unicode. Jest to reprezentowane przez kodowanie szesnastobitowe, co oznacza, że na każdy znak przydzielane są dokładnie dwa bajty pamięci RAM. Oczywiście przy takim kodowaniu koszty pamięci są podwojone. Jednakże taki system kodów pozwala na konwersję do 65 536 znaków na kod elektroniczny.
Specyfiką standardowego systemu Unicode jest włączenie absolutnie dowolnego alfabetu, niezależnie od tego, czy istnieje, wymarł czy wynaleziono. Ostatecznie absolutnie dowolny alfabet, oprócz tego system Unicode zawiera wiele symboli matematycznych, chemicznych, muzycznych i ogólnych.
Użyjmy tabeli ASCII, aby zobaczyć, jak słowo może wyglądać w pamięci Twojego komputera.
Często zdarza się, że Twój tekst napisany literami rosyjskiego alfabetu jest nieczytelny, wynika to z różnic w systemach kodowania alfabetu na komputerach. Jest to bardzo powszechny problem, który występuje dość często.
Zbiór znaków, za pomocą którego zapisywany jest tekst, nazywa się alfabet.
Liczba znaków w alfabecie jest jego moc.
Wzór na określenie ilości informacji: N=2b,
gdzie N to potęga alfabetu (liczba znaków),
b – liczba bitów (waga informacyjna symbolu).
Alfabet o pojemności 256 znaków pomieści prawie wszystkie niezbędne znaki. Ten alfabet nazywa się wystarczający.
Ponieważ 256 = 2 8, wówczas waga 1 znaku wynosi 8 bitów.
Nazwę nadano jednostce miary 8 bitów 1 bajt:
1 bajt = 8 bitów.
Kod binarny każdego znaku w tekście komputerowym zajmuje 1 bajt pamięci.
Wygoda kodowania znaków bajt po bajcie jest oczywista, ponieważ bajt jest najmniejszą adresowalną częścią pamięci i dlatego procesor może uzyskać dostęp do każdego znaku oddzielnie podczas przetwarzania tekstu. Z drugiej strony 256 znaków to całkiem wystarczająca liczba, aby przedstawić szeroką gamę informacji symbolicznych.
Oczywiste jest, że jest to kwestia warunkowa; można wymyślić wiele metod kodowania.
Wszystkie znaki alfabetu komputerowego są ponumerowane od 0 do 255. Każda liczba odpowiada ośmiobitowemu kodowi binarnemu od 00000000 do 11111111. Kod ten jest po prostu numerem seryjnym znaku w systemie liczb binarnych.
Różne typy komputerów korzystają z różnych tabel kodowania.
Stół stał się międzynarodowym standardem dla komputerów PC ASCII(czytaj pytanie) (Amerykański standardowy kodeks wymiany informacji).
Tabela kodów ASCII jest podzielona na dwie części.
Tylko pierwsza połowa tabeli to standard międzynarodowy, tj. symbole z liczbami od 0 (00000000), do 127 (01111111).
Numer seryjny |
Kod |
Symbol |
0 - 31 |
00000000 - 00011111 |
Symbole z liczbami od 0 do 31 nazywane są zwykle symbolami kontrolnymi. |
32 - 127 |
00100000 - 01111111 |
Standardowa część stołu (w języku angielskim). Obejmuje to małe i wielkie litery alfabetu łacińskiego, cyfry dziesiętne, znaki interpunkcyjne, wszelkiego rodzaju nawiasy, symbole handlowe i inne. |
128 - 255 |
10000000 - 11111111 |
Alternatywna część stołu (rosyjska). |
Należy pamiętać, że w tabeli kodowania litery (duże i małe) są ułożone w kolejności alfabetycznej, a cyfry w kolejności rosnącej. To zachowanie porządku leksykograficznego w układzie znaków nazywa się zasadą sekwencyjnego kodowania alfabetu.
W przypadku liter alfabetu rosyjskiego przestrzegana jest również zasada kodowania sekwencyjnego.
Niestety, obecnie istnieje pięć różnych kodowań cyrylicy (KOI8-R, Windows, MS-DOS, Macintosh i ISO). Z tego powodu często pojawiają się problemy z przesyłaniem tekstu w języku rosyjskim z jednego komputera na drugi, z jednego systemu oprogramowania na drugi.
Chronologicznie jednym z pierwszych standardów kodowania rosyjskich liter na komputerach był KOI8 („Kod wymiany informacji, 8-bitowy”). To kodowanie było używane w latach 70. na komputerach z serii ES, a od połowy lat 80. zaczęto je stosować w pierwszych zrusyfikowanych wersjach systemu operacyjnego UNIX.
Od początku lat 90-tych, czyli czasów dominacji systemu operacyjnego MS DOS, nadal obowiązuje kodowanie CP866 („CP” oznacza „stronę kodową”, „stronę kodową”).
Komputery Apple z systemem operacyjnym Mac OS korzystają z własnego kodowania Mac.
Ponadto Międzynarodowa Organizacja Normalizacyjna (ISO) zatwierdziła inne kodowanie o nazwie ISO 8859-5 jako standard dla języka rosyjskiego.
Najpopularniejszym obecnie stosowanym kodowaniem jest Microsoft Windows, w skrócie CP1251.
Od końca lat 90-tych problem standaryzacji kodowania znaków został rozwiązany poprzez wprowadzenie nowego międzynarodowego standardu zwanego Unikod. Jest to kodowanie 16-bitowe, tj. przydziela 2 bajty pamięci dla każdego znaku. Zwiększa to oczywiście ilość zajmowanej pamięci 2-krotnie. Ale taka tabela kodów pozwala na włączenie do 65536 znaków. Pełna specyfikacja standardu Unicode obejmuje wszystkie istniejące, wymarłe i sztucznie stworzone alfabety świata, a także wiele symboli matematycznych, muzycznych, chemicznych i innych.
Czasem zdarza się, że otrzymanego z innego komputera tekstu składającego się z liter alfabetu rosyjskiego nie da się odczytać – na ekranie monitora widoczna jest swego rodzaju „abrakadabra”. Dzieje się tak, ponieważ komputery używają innego kodowania znaków dla języka rosyjskiego.
Wszyscy wiedzą, że komputery mogą wykonywać obliczenia na dużych grupach danych z ogromną szybkością. Ale nie wszyscy wiedzą, że działania te zależą tylko od dwóch warunków: czy jest prąd, czy nie i jakie napięcie.
Jak komputer radzi sobie z przetwarzaniem tak różnorodnych informacji?
Sekret tkwi w binarnym systemie liczbowym. Wszystkie dane trafiają do komputera, prezentowane w postaci jedynek i zer, z których każde odpowiada jednemu stanowi przewodu elektrycznego: jedynki - wysokie napięcie, zera - niskie lub jedynki - obecność napięcia, zera - jego brak. Konwersja danych na zera i jedynki nazywa się konwersją binarną, a jej ostateczne oznaczenie nazywa się kodem binarnym.
W zapisie dziesiętnym, opartym na systemie liczb dziesiętnych używanym w życiu codziennym, wartość liczbową reprezentuje dziesięć cyfr od 0 do 9, a każde miejsce w liczbie ma wartość dziesięciokrotnie większą niż miejsce po jej prawej stronie. Aby przedstawić liczbę większą niż dziewięć w systemie dziesiętnym, w jej miejscu umieszcza się zero, a jedynkę w kolejnym, bardziej wartościowym miejscu po lewej stronie. Podobnie w systemie binarnym, który wykorzystuje tylko dwie cyfry - 0 i 1, każde miejsce jest dwukrotnie cenniejsze niż miejsce po jego prawej stronie. Zatem w kodzie binarnym tylko zero i jeden można przedstawić jako pojedyncze liczby, a każda liczba większa niż jeden wymaga dwóch miejsc. Po zera i jedynce następne trzy liczby binarne to 10 (czytaj jeden-zero) i 11 (czytaj jeden-jeden) i 100 (czytaj jeden-zero-zero). Liczba binarna 100 odpowiada czterem miejscom dziesiętnym. Górna tabela po prawej stronie pokazuje inne odpowiedniki BCD.
Dowolną liczbę można wyrazić w systemie binarnym, zajmuje ona tylko więcej miejsca niż w postaci dziesiętnej. Alfabet można również zapisać w systemie binarnym, jeśli każdej literze zostanie przypisana określona liczba binarna.
Dwie cyfry na cztery miejsca
Za pomocą ciemnych i jasnych kul można utworzyć 16 kombinacji, łącząc je w zestawy po cztery. Jeśli ciemne kule potraktujemy jako zera, a jasne jako jedynki, wówczas 16 zestawów okaże się 16-jednostkowym kodem binarnym, którego wartość liczbowa wynosi . czyli od zera do pięciu (patrz górna tabela na stronie 27). Nawet z dwoma rodzajami piłek w systemie binarnym można zbudować nieskończoną liczbę kombinacji, po prostu zwiększając liczbę piłek w każdej grupie - lub liczbę miejsc w liczbach.
Bit, najmniejsza jednostka przetwarzania komputerowego, to jednostka danych, która może spełniać jeden z dwóch możliwych warunków. Na przykład każda z jedynek i zer (po prawej) reprezentuje 1 bit. Bit można przedstawić na inne sposoby: obecność lub brak prądu elektrycznego, dziurę lub jej brak, kierunek namagnesowania w prawo lub w lewo. Osiem bitów tworzy bajt. 256 możliwych bajtów może reprezentować 256 znaków i symboli. Wiele komputerów przetwarza jeden bajt danych na raz.
Konwersja binarna. Czterocyfrowy kod binarny może reprezentować liczby dziesiętne od 0 do 15.
Gdy kod binarny jest używany do reprezentowania liter alfabetu lub znaków interpunkcyjnych, wymagane są tabele kodów wskazujące, który kod odpowiada danemu znakowi. Opracowano kilka takich kodów. Większość komputerów PC jest skonfigurowana za pomocą siedmiocyfrowego kodu zwanego ASCII lub amerykańskiego standardowego kodu wymiany informacji. Tabela po prawej stronie przedstawia kody ASCII alfabetu angielskiego. Inne kody dotyczą tysięcy znaków i alfabetów innych języków świata.
Część tabeli kodów ASCII
Binarny system liczbowy- pozycyjny system liczbowy o podstawie 2. Dzięki bezpośredniej implementacji w cyfrowych układach elektronicznych za pomocą bramek logicznych, system binarny stosowany jest w niemal wszystkich współczesnych komputerach i innych elektronicznych urządzeniach obliczeniowych.
W systemie binarnym liczby zapisuje się za pomocą dwóch symboli ( 0 I 1 ). Aby uniknąć nieporozumień co do tego, w jakim systemie liczbowym zapisano numer, w prawym dolnym rogu znajduje się wskaźnik. Na przykład liczba w systemie dziesiętnym 5 10 , binarnie 101 2 . Czasami liczba binarna jest oznaczona przedrostkiem 0b lub symbol & (ampersand), Na przykład 0b101 lub odpowiednio &101 .
W systemie binarnym (podobnie jak w innych systemach liczbowych z wyjątkiem dziesiętnego) cyfry są odczytywane pojedynczo. Na przykład liczbę 101 2 wymawia się jako „jeden zero jeden”.
Liczba naturalna zapisana w systemie binarnym jako (za n - 1 za n - 2 … za 1 za 0) 2 (\ displaystyle (a_ (n-1) a_ (n-2) \ kropki a_ (1) a_ (0)) _ (2)}, ma znaczenie:
(za n - 1 za n - 2 … za 1 za 0) 2 = ∑ k = 0 n - 1 za k 2 k , (\ Displaystyle (a_ (n-1) a_ (n-2) \ kropki a_ (1) a_ ( 0))_(2)=\suma _(k=0)^(n-1)a_(k)2^(k),)Ujemne liczby binarne oznacza się w taki sam sposób, jak liczby dziesiętne: znakiem „-” przed liczbą. Mianowicie ujemna liczba całkowita zapisana w systemie liczb binarnych (- za n - 1 za n - 2 … za 1 za 0) 2 (\ Displaystyle (-a_ (n-1) a_ (n-2) \ kropki a_ (1) a_ (0)) _ (2)), ma wartość:
(- za n - 1 za n - 2 … za 1 za 0) 2 = - ∑ k = 0 n - 1 za k 2 k .(\ Displaystyle (-a_ (n-1) a_ (n-2) \ kropki a_ (1) a_ (0)) _ (2) = - \ suma _ (k = 0) ^ (n-1) a_ ( k)2^(k).)
Liczba ułamkowa zapisana w systemie binarnym jako (za n - 1 za n - 2 … za 1 za 0 , za - 1 za - 2 … za - (m - 1) za - m) 2 (\ Displaystyle (a_ (n-1) a_ (n-2) \ kropki a_(1)a_(0),a_(-1)a_(-2)\kropki a_(-(m-1))a_(-m))_(2)), ma wartość:
(za n - 1 za n - 2 … za 1 za 0 , za - 1 za - 2 … za - (m - 1) za - m) 2 = ∑ k = - m n - 1 za k 2 k , (\ displaystyle (a_ ( n-1)a_(n-2)\kropki a_(1)a_(0),a_(-1)a_(-2)\kropki a_(-(m-1))a_(-m))_( 2)=\suma _(k=-m)^(n-1)a_(k)2^(k),)
Tabela dodatków
Przykład dodania kolumny (wyrażenie dziesiętne 14 10 + 5 10 = 19 10 w formacie binarnym wygląda jak 1110 2 + 101 2 = 10011 2):
Przykład mnożenia kolumn (wyrażenie dziesiętne 14 10 * 5 10 = 70 10 w formacie binarnym wygląda jak 1110 2 * 101 2 = 1000110 2):
Zaczynając od cyfry 1, wszystkie liczby są mnożone przez dwa. Kropka znajdująca się po jedynce nazywana jest kropką binarną.
Załóżmy, że mamy liczbę binarną 110001 2 . Aby przekonwertować na dziesiętny, zapisz go jako sumę cyfr w następujący sposób:
1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49
To samo trochę inaczej:
1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49
Możesz zapisać to w formie tabeli w następujący sposób:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | ||||
+32 | +16 | +0 | +0 | +0 | +1 |
Przejdź od prawej do lewej. Pod każdą jednostką binarną wpisz jej odpowiednik w wierszu poniżej. Dodaj powstałe liczby dziesiętne. Zatem liczba binarna 110001 2 jest równoważna liczbie dziesiętnej 49 10.
Trzeba przekonwertować liczbę 1011010,101 2 do systemu dziesiętnego. Zapiszmy tę liczbę w następujący sposób:
1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625
To samo trochę inaczej:
1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625
Lub według tabeli:
64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | |
1 | 0 | 1 | 1 | 0 | 1 | 0 | , | 1 | 0 | 1 |
+64 | +0 | +16 | +8 | +0 | +2 | +0 | +0.5 | +0 | +0.125 |
Aby za pomocą tej metody dokonać konwersji liczb z postaci binarnej na dziesiętną, należy zsumować liczby od lewej do prawej, mnożąc uzyskany wcześniej wynik przez podstawę układu (w tym przypadku 2). Do konwersji z systemu binarnego na dziesiętny zwykle stosuje się metodę Hornera. Odwrotna operacja jest trudna, gdyż wymaga umiejętności dodawania i mnożenia w systemie liczb binarnych.
Na przykład liczba binarna 1011011 2 przekonwertowany na system dziesiętny w następujący sposób:
0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91
Oznacza to, że w systemie dziesiętnym liczba ta zostanie zapisana jako 91.
Cyfry są pobierane z liczby od prawej do lewej i dzielone przez podstawę systemu liczbowego (2).
Na przykład 0,1101 2
(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125
Odpowiedź: 0,1101 2 = 0,8125 10
Załóżmy, że musimy przekonwertować liczbę 19 na postać binarną. Możesz skorzystać z poniższej procedury:
19/2 = 9 z resztą 1
9/2 = 4 z resztą 1
4/2 = 2 bez reszty 0
2/2 = 1 bez reszty 0
1/2 = 0 z resztą 1
Zatem dzielimy każdy iloraz przez 2, a resztę zapisujemy na końcu zapisu binarnego. Kontynuujemy dzielenie, aż iloraz wyniesie 0. Wynik zapisujemy od prawej do lewej. Oznacza to, że dolna cyfra (1) będzie skrajnie lewa itd. W rezultacie otrzymamy liczbę 19 w zapisie binarnym: 10011 .
Jeśli pierwotna liczba ma część całkowitą, jest ona konwertowana oddzielnie od części ułamkowej. Konwersja liczby ułamkowej z systemu dziesiętnego na system binarny odbywa się za pomocą następującego algorytmu:
Przykład: musisz przekonwertować ułamkową liczbę dziesiętną 206,116 do ułamkowej liczby binarnej.
Tłumaczenie całej części daje 206 10 =11001110 2 zgodnie z wcześniej opisanymi algorytmami. Mnożymy część ułamkową 0,116 przez podstawę 2, wprowadzając części całkowite iloczynu do miejsc dziesiętnych żądanej ułamkowej liczby binarnej:
0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
itp.
Zatem 0,116 10 ≈ 0, 0001110110 2
Otrzymujemy: 206,116 10 ≈ 11001110,0001110110 2
System binarny stosowany jest w urządzeniach cyfrowych, ponieważ jest najprostszy i spełnia wymagania:
W informatyce powszechnie stosuje się zapisywanie ujemnych liczb binarnych w uzupełnieniu do dwóch. Na przykład liczbę -5 10 można zapisać jako -101 2, ale na komputerze 32-bitowym będzie ona przechowywana jako 2.
Przy wskazywaniu wymiarów liniowych w calach tradycyjnie stosuje się ułamki binarne zamiast dziesiętnych, na przykład: 5¾″, 7 15/16″, 3 11/32″ itp.
Binarny system liczbowy jest połączeniem binarnego systemu kodowania i wykładniczej funkcji ważącej o podstawie równej 2. Należy zauważyć, że liczbę można zapisać w kodzie binarnym, a system liczbowy może nie być binarny, ale z inna baza. Przykład: kodowanie BCD, w którym cyfry dziesiętne są zapisywane w formacie binarnym, a system liczbowy jest dziesiętny.
08. 06.2018
Blog Dmitrija Wasiarowa.
Dzisiaj jest mi szczególnie miło spotkać Was, 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 cyfrowej, opowiem Wam, czym jest kod binarny, na którym jest ich podstawa.
Zacznijmy od terminologii i dowiedzmy się, co oznacza binarność. Dla wyjaśnienia wróćmy do naszego zwykłego rachunku różniczkowego, który nazywa się „dziesiętnym”. Oznacza to, że używamy 10 cyfr, które umożliwiają wygodną obsługę różnych liczb i prowadzenie odpowiedniej ewidencji.
Zgodnie z tą logiką system binarny przewiduje użycie tylko dwóch znaków. W naszym przypadku są to po prostu „0” (zero) i „1” jedynka. I tu chcę przestrzec, że hipotetycznie na ich miejscu mogłyby znajdować się inne symbole, ale to właśnie te wartości, wskazujące na brak (0, pusty) i obecność sygnału (1 lub „patyk”), pomogą możemy lepiej zrozumieć strukturę kodu binarnego.
Przed pojawieniem się komputerów stosowano różne systemy automatyczne, których zasada działania opierała się na odbiorze sygnału. Czujnik zostaje uruchomiony, obwód zostaje zamknięty i określone urządzenie zostaje 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 reprezentowanej przez obecność lub brak napięcia w obwodzie.
Dalsze ich komplikacje doprowadziły do pojawienia się pierwszych procesorów, które również spełniły swoje zadanie, przetwarzając sygnał składający się z impulsów naprzemiennych w określony sposób. Nie będziemy teraz wnikać w szczegóły programu, ale dla nas ważne jest to, że urządzenia elektroniczne potrafią rozróżnić zadaną sekwencję przychodzących sygnałów. Oczywiście kombinację warunkową można opisać w ten sposób: „jest sygnał”; „brak sygnału”; „jest sygnał”; „jest sygnał”. Można nawet uprościć zapis: „jest”; "NIE"; "Jest"; "Jest".
Ale znacznie łatwiej jest oznaczyć obecność sygnału jednostką „1”, a jego brak zerowym „0”. Następnie możemy zamiast tego użyć prostego i zwięzłego kodu binarnego: 1011.
Oczywiście technologia procesorów poszła daleko do przodu i teraz chipy są w stanie dostrzec nie tylko sekwencję sygnałów, ale całe programy napisane za pomocą określonych poleceń składających się z pojedynczych znaków.
Ale do ich rejestracji używany jest ten sam kod binarny, składający się z zer i jedynek, odpowiadających obecności lub brakowi sygnału. Czy on istnieje, czy nie, to nie ma znaczenia. W przypadku chipa każda z tych opcji to pojedyncza informacja zwana „bitem” (bit jest oficjalną jednostką miary).
Konwencjonalnie symbol można zakodować jako ciąg kilku znaków. Dwa sygnały (lub ich brak) mogą opisać tylko cztery opcje: 00; 01;10; 11. Ta metoda kodowania nazywa się dwubitowym. Ale może to być również:
Szczerze mówiąc, nie ma jednej oficjalnej wersji, ale tak się złożyło, że to właśnie kombinacja ośmiu znaków stała się standardową miarą przechowywanych informacji zwaną „bajtem”. Można to zastosować nawet do jednej litery zapisanej w 8-bitowym kodzie binarnym. Zatem, moi drodzy, pamiętajcie (jeśli ktoś nie wiedział):
8 bitów = 1 bajt.
Tak właśnie jest. Chociaż znak zapisany z wartością 2 lub 32-bitową można również nominalnie nazwać bajtem. Przy okazji, dzięki kodowi binarnemu możemy oszacować objętość plików mierzoną w bajtach oraz prędkość transmisji informacji i Internetu (w bitach na sekundę).
Aby ujednolicić rejestrację informacji dla komputerów, opracowano kilka systemów kodowania, z których jeden, ASCII, oparty na zapisie 8-bitowym, stał się powszechny. Wartości w nim są dystrybuowane w specjalny sposób:
Dekodowanie zawartych w nim wartości pokazano w tabeli.
Jeśli myślisz, że „0” i „1” są ułożone w chaotyczny sposób, to głęboko się mylisz. Na przykładzie dowolnej liczby pokażę Ci wzór i nauczę czytać liczby zapisane w kodzie binarnym. Ale w tym celu zaakceptujemy pewne konwencje:
Teraz, moi dociekliwi przyjaciele, nie tylko wiecie, czym jest kod binarny, ale także wiecie, jak przekonwertować zaszyfrowaną przez niego informację.
Oczywiście algorytm odczytu kodu binarnego przez urządzenia procesorowe jest znacznie bardziej skomplikowany. Ale możesz go użyć do zapisania wszystkiego, co chcesz:
Dodatkowo ze względu na prostotę „prezentacji” możliwe są różne sposoby zapisu informacji binarnej:
Uzupełnieniem zalet kodowania binarnego są niemal nieograniczone możliwości przesyłania informacji na dowolną odległość. Jest to metoda komunikacji stosowana ze statkami kosmicznymi i sztucznymi satelitami.
Tak więc dzisiaj system liczb binarnych jest językiem rozumianym przez większość urządzeń elektronicznych, których używamy. A co najciekawsze, na razie nie przewiduje się żadnej innej alternatywy.
Myślę, że informacje, które przedstawiłem wystarczą Ci na początek. A wtedy, jeśli zajdzie taka potrzeba, każdy będzie mógł zagłębić się w niezależne studium tego tematu.
Żegnam się i po krótkiej przerwie przygotuję dla Was nowy artykuł na moim blogu na ciekawy temat.
Lepiej będzie, jeśli sama mi to powiesz ;)
Do zobaczenia wkrótce.