Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

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.

Kodowanie tekstu.

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

  • N to ta sama potęga (wiele symboli),
  • b - Bit (waga wziętego symbolu).

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

  • 8 bitów zawsze nazywa się 1 bajtem:
  • 1 bajt = 8 bitów.

Jeśli przekonwertujesz każdy znak na kod binarny, wówczas ten komputerowy kod tekstowy zajmie 1 bajt.

Jak mogą wyglądać informacje tekstowe w pamięci komputera?

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.

W jaki sposób informacja tekstowa jest reprezentowana w pamięci komputera?

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.

Teraz pojawia się pytanie, jaki ośmiobitowy kod binarny przypisać do każdego znaku.

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.

Tabela, w której wszystkie znaki alfabetu komputerowego mają przypisane numery seryjne, nazywana jest tabelą kodowania.

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).

Struktura tabeli kodowania ASCII

Numer seryjny

Kod

Symbol

0 - 31

00000000 - 00011111

Symbole z liczbami od 0 do 31 nazywane są zwykle symbolami kontrolnymi.
Ich funkcją jest sterowanie procesem wyświetlania tekstu na ekranie lub wydruku, emitowaniem sygnału dźwiękowego, zaznaczaniem tekstu itp.

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.
Znak 32 to spacja, tj. pusta pozycja w tekście.
Wszystkie inne odzwierciedlają pewne znaki.

128 - 255

10000000 - 11111111

Alternatywna część stołu (rosyjska).
Druga połowa tabeli kodów ASCII, zwana stroną kodową (128 kodów, zaczynając od 10000000 i kończąc na 11111111), może mieć różne opcje, każda opcja ma swój własny numer.
Strona kodowa jest używana głównie do obsługi alfabetów narodowych innych niż łaciński. W rosyjskich kodowaniach narodowych w tej części tabeli umieszczane są znaki z alfabetu rosyjskiego.

Pierwsza połowa tabeli kodów ASCII


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.

Druga połowa tabeli kodów ASCII


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.

Spróbujmy użyć tabeli ASCII, aby wyobrazić sobie, jak słowa będą wyglądać w pamięci komputera.

Wewnętrzna reprezentacja słów w pamięci komputera

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.

Bity i bajty

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.

Tabele kodowe

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


Aryabhata
Cyrylica
grecki gruziński
etiopczyk
żydowski
Akshara-sankhya Inny babiloński
Egipcjanin
etruski
rzymski
Dunaj Strych
Kipu
Majowie
egejski
Symbole KPPU Pozycyjny , , , , , , , , , , Nega-pozycyjny Symetryczny Systemy mieszane Fibonacciego Niepozycyjny Jednostka (jednoargumentowa)

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.

Binarny zapis liczb

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”.

Liczby naturalne

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),)

Liczby ujemne

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).)

dodatkowy kod.

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),)

Dodawanie, odejmowanie i mnożenie liczb binarnych

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ą.

Konwersja liczb binarnych na dziesiętne

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.

Konwersja ułamkowych liczb binarnych na dziesiętne

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

Transformacja metodą Hornera

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.

Zamiana części ułamkowej liczb metodą Hornera

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

Konwersja liczb dziesiętnych na binarne

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 .

Konwersja liczb ułamkowych dziesiętnych na binarne

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:

  • Ułamek mnoży się przez podstawę systemu liczb binarnych (2);
  • W powstałym produkcie izolowana jest część całkowita, którą przyjmuje się jako najbardziej znaczącą cyfrę liczby w systemie liczb binarnych;
  • Algorytm kończy się, gdy część ułamkowa otrzymanego iloczynu jest równa zeru lub gdy zostanie osiągnięta wymagana dokładność obliczeń. W przeciwnym razie obliczenia są kontynuowane na części ułamkowej produktu.

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

Aplikacje

W urządzeniach cyfrowych

System binarny stosowany jest w urządzeniach cyfrowych, ponieważ jest najprostszy i spełnia wymagania:

  • Im mniej wartości znajduje się w systemie, tym łatwiej jest wyprodukować poszczególne elementy operujące na tych wartościach. W szczególności dwie cyfry systemu binarnego można łatwo przedstawić za pomocą wielu zjawisk fizycznych: jest prąd (prąd jest większy niż wartość progowa) - nie ma prądu (prąd jest mniejszy niż wartość progowa), pole magnetyczne indukcja pola jest większa niż wartość progowa lub nie (indukcja pola magnetycznego jest mniejsza niż wartość progowa) itp.
  • Im mniej stanów ma element, tym wyższa jest odporność na zakłócenia i tym szybciej może działać. Przykładowo, aby zakodować trzy stany poprzez wielkość napięcia, prądu lub indukcji pola magnetycznego, trzeba będzie wprowadzić dwie wartości progowe i dwa komparatory.

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.

W angielskim systemie miar

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.

Uogólnienia

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.

Historia

  • Kompletny zestaw 8 trygramów i 64 heksagramów, analogiczny do cyfr 3- i 6-bitowych, był znany w starożytnych Chinach w klasycznych tekstach Księgi Przemian. Kolejność heksagramów w księga zmian, ułożone zgodnie z wartościami odpowiednich cyfr binarnych (od 0 do 63), a sposób ich uzyskania został opracowany przez chińskiego naukowca i filozofa Shao Yonga w XI wieku. Nie ma jednak dowodów sugerujących, że Shao Yun rozumiał zasady arytmetyki binarnej, układając dwuznakowe krotki w porządku leksykograficznym.
  • Zbiory, które są kombinacjami cyfr binarnych, były używane przez Afrykanów w tradycyjnym wróżeniu (takim jak Ifa) oraz w średniowiecznej geomancji.
  • W 1854 roku angielski matematyk George Boole opublikował przełomowy artykuł opisujący systemy algebraiczne w zastosowaniu do logiki, znanej obecnie jako algebra Boole'a lub algebra logiki. Jego rachunek logiczny miał odegrać ważną rolę w rozwoju nowoczesnych cyfrowych układów elektronicznych.
  • W 1937 r. Claude Shannon złożył do obrony pracę doktorską. Analiza symboliczna obwodów przekaźnikowych i przełączających w którym zastosowano algebrę Boole'a i arytmetykę binarną w odniesieniu do przekaźników i przełączników elektronicznych. Cała nowoczesna technologia cyfrowa opiera się zasadniczo na rozprawie Shannona.
  • W listopadzie 1937 roku George Stibitz, późniejszy pracownik Bell Labs, stworzył komputer „Model K” oparty na przekaźnikach. K itchen”, kuchnia, w której przeprowadzono montaż), która wykonywała dodawanie binarne. Pod koniec 1938 roku Bell Labs uruchomiło program badawczy kierowany przez Stiebitza. Komputer stworzony pod jego kierownictwem, ukończony 8 stycznia 1940 roku, był w stanie wykonywać operacje na liczbach zespolonych. Podczas demonstracji na konferencji Amerykańskiego Towarzystwa Matematycznego w Dartmouth College 11 września 1940 r. Stibitz zademonstrował możliwość wysyłania poleceń do zdalnego kalkulatora liczb zespolonych za pośrednictwem linii telefonicznej za pomocą dalekopisu. Była to pierwsza próba wykorzystania komputera zdalnego za pośrednictwem linii telefonicznej. Uczestnikami konferencji, którzy byli świadkami demonstracji, byli m.in. John von Neumann, John Mauchly i Norbert Wiener, którzy opisali to później w swoich pamiętnikach.

Zobacz także

Notatki

  1. Popowa Olga Władimirowna. Podręcznik informatyki (nieokreślony) .

08. 06.2018

Blog Dmitrija Wasiarowa.

Kod binarny – gdzie i jak się go wykorzystuje?

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.

Dlaczego potrzebny jest kod binarny?

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ż:

  • Czterobitowy (jak w przykładzie w akapicie powyżej 1011) pozwala zapisać 2^4 = 16 kombinacji symboli;
  • Ośmiobitowy (na przykład: 0101 0011; 0111 0001). W pewnym momencie programowanie cieszyło się największym zainteresowaniem, ponieważ obejmowało 2^8 = 256 wartości. Umożliwiło to opisanie wszystkich cyfr dziesiętnych, alfabetu łacińskiego i znaków specjalnych;
  • Szesnaście bitów (1100 1001 0110 1010) i więcej. Ale rekordy o takiej długości są już przeznaczone do nowoczesnych, bardziej złożonych zadań. Nowoczesne procesory wykorzystują architekturę 32- i 64-bitową;

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ę).

Kodowanie binarne w akcji

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:

  • 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świetlająca alfabety narodowe;

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:

  • Będziemy czytać bajt składający się z 8 znaków od prawej do lewej;
  • Jeśli w liczbach zwykłych używamy cyfr jedności, dziesiątek, setek, to tutaj (czytając w odwrotnej kolejności) dla każdego bitu reprezentowane są różne potęgi „dwa”: 256-124-64-32-16-8- 4-2 -1;
  • Teraz patrzymy na kod binarny liczby, na przykład 00011011. Tam, gdzie na 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ć zaszyfrowaną przez niego informację.

Język zrozumiały dla współczesnej technologii

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:

  • Informacje tekstowe z opcjami formatowania;
  • Liczby i wszelkie operacje na nich;
  • Obrazy graficzne i wideo;
  • Dźwięki, w tym te znajdujące się poza naszym zasięgiem słyszenia;

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

  • Zmieniając pole magnetyczne o;
  • 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.



    Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
    UDZIAŁ: