Wszystkie znaki i litery można zakodować za pomocą ośmiu bitów binarnych. Najpopularniejszymi tabelami reprezentującymi litery w kodzie binarnym są ASCII i ANSI, można ich używać do pisania tekstów w mikroprocesorach. W tabelach ASCII i ANSI pierwsze 128 znaków jest takich samych. Ta część tabeli zawiera kody cyfr, znaków interpunkcyjnych, wielkich i małych liter łacińskich oraz znaków kontrolnych. Rozszerzenia narodowe tablic znaków i symboli pseudograficznych są zawarte w ostatnich 128 kodach tych tablic, więc rosyjskie teksty w systemach operacyjnych DOS i WINDOWS nie pasują do siebie.
Przy pierwszej znajomości komputerów i mikroprocesorów może pojawić się pytanie – „jak przekonwertować tekst na kod binarny?” Jednak ta transformacja jest najprostszą akcją! Aby to zrobić, musisz użyć dowolnego edytora tekstu. Dołączenie najprostszego programu do notatnika, który jest częścią systemu operacyjnego Windows, jest również odpowiednie. Podobne edytory są obecne we wszystkich środowiskach programistycznych dla języków takich jak C, Pascal czy Java. Należy zauważyć, że najpopularniejszy edytor tekstu Word nie nadaje się do prostej konwersji tekstu na kod binarny. Ten edytor testów wprowadza ogromną ilość dodatkowych informacji, takich jak kolor liter, kursywa, podkreślenie, język, w którym napisana jest dana fraza oraz czcionka.
Należy zauważyć, że w rzeczywistości kombinacja zer i jedynek, za pomocą których kodowana jest informacja tekstowa, nie jest kodem binarnym, ponieważ bity w tym kodzie nie są zgodne z prawami. Jednak w Internecie fraza „reprezentująca litery w kodzie binarnym” jest najczęstsza. W tabeli 1 przedstawiono zgodność kodów binarnych z literami alfabetu łacińskiego. Ze względu na zwięzłość kolejność zer i jedynek w tej tabeli jest przedstawiona w kodach dziesiętnych i szesnastkowych.
Tabela 1 Tabela reprezentacji liter łacińskich w kodzie binarnym (ASCII)
Kod dziesiętny | Kod szesnastkowy | Wyświetlany znak | Oznaczający |
---|---|---|---|
0 | 00 | NUL | |
1 | 01 | ☺ | (wyświetla słowo sterujące) |
2 | 02 | ☻ | (Pierwsze przesłane słowo) |
3 | 03 | ETX (ostatnie słowo transmisji) | |
4 | 04 | ♦ | EOT (koniec transmisji) |
5 | 05 | ♣ | ENQ (inicjalizacja) |
6 | 06 | ♠ | ACK (potwierdzenie) |
7 | 07 | BEL | |
8 | 08 | ◘ | BS |
9 | 09 | ○ | HT (zakładka pozioma |
10 | 0A | ◙ | LF (wysuw liniowy) |
11 | 0B | ♂ | VT (karta pionowa) |
12 | 0C | ♀ | FF (następna strona) |
13 | 0D | ♪ | CR (powrót karetki) |
14 | 0E | ♫ | SO (podwójna szerokość) |
15 | 0F | ☼ | SI (uszczelnienie skondensowane) |
16 | 10 | DLE | |
17 | 11 | ◄ | DC1 |
18 | 12 | ↕ | DC2 (Anuluj druk skondensowany) |
19 | 13 | ‼ | DC3 (gotowy) |
20 | 14 | ¶ | DC4 (anuluj podwójną szerokość) |
21 | 15 | § | NAC (bez potwierdzenia) |
22 | 16 | ▬ | SYN |
23 | 17 | ↨ | ETB |
24 | 18 | MÓC | |
25 | 19 | ↓ | EM |
26 | 1A | → | POD |
27 | 1B | ← | ESC (kontrola sekwencji startu) |
28 | 1C | ∟ | FS |
29 | 1D | ↔ | GS |
30 | 1E | ▲ | RS |
31 | 1F | ▼ | NAS |
32 | 20 | Przestrzeń | |
33 | 21 | ! | Wykrzyknik |
34 | 22 | « | nawias kątowy |
35 | 23 | # | Znak liczbowy |
36 | 24 | $ | Znak waluty (dolar) |
37 | 25 | % | Znak procentu |
38 | 26 | & | Ampersand |
39 | 27 | " | Apostrof |
40 | 28 | ( | otwierający wspornik |
41 | 29 | ) | Zamknij nawias |
42 | 2A | * | Gwiazda |
43 | 2B | + | znak plusa |
44 | 2C | , | Przecinek |
45 | 2D | - | Minus |
46 | 2E | . | Kropka |
47 | 2F | / | Bar ułamkowy |
48 | 30 | 0 | Numeryczne zero |
49 | 31 | 1 | numer jeden |
50 | 32 | 2 | Numer dwa |
51 | 33 | 3 | numer trzy |
52 | 34 | 4 | Numer cztery |
53 | 35 | 5 | Numer pięć |
54 | 36 | 6 | Numer sześć |
55 | 37 | 7 | Numer siedem |
56 | 38 | 8 | Numer osiem |
57 | 39 | 9 | Numer dziewięć |
58 | 3A | : | Okrężnica |
59 | 3B | ; | Średnik |
60 | 3C | < | mniej niż znak |
61 | 3D | = | znak równości |
62 | 3E | > | Podpisz więcej |
63 | 3F | ? | znak zapytania |
64 | 40 | @ | Piętro handlowe |
65 | 41 | A | Wielka łacińska litera A |
66 | 42 | B | Łacińska wielka litera B |
67 | 43 | C | Łacińska wielka litera C |
68 | 44 | D | Wielka łacińska litera D |
69 | 45 | mi | Łacińska wielka litera E |
70 | 46 | F | Łacińska wielka litera F |
71 | 47 | G | Łacińska wielka litera G |
72 | 48 | H | Łacińska wielka litera H |
73 | 49 | I | Wielka łacińska litera I |
74 | 4A | J | Łacińska wielka litera J |
75 | 4B | K | Wielka łacińska litera K |
76 | 4C | L | Wielka łacińska litera L |
77 | 4D | M | Wielka łacińska litera |
78 | 4E | N | Wielka łacińska litera N |
79 | 4F | O | Wielka łacińska litera O |
80 | 50 | P | Łacińska wielka litera P |
81 | 51 | Q | Wielka łacińska litera |
82 | 52 | R | Łacińska wielka litera R |
83 | 53 | S | Wielka łacińska litera S |
84 | 54 | T | Łacińska wielka litera T |
85 | 55 | U | Łacińska wielka litera U |
86 | 56 | V | Wielka łacińska litera V |
87 | 57 | W | Łacińska wielka litera W |
88 | 58 | X | Wielka łacińska litera X |
89 | 59 | Tak | Wielka łacińska litera Y |
90 | 5A | Z | Wielka łacińska litera Z |
91 | 5B | [ | Otwierający nawias kwadratowy |
92 | 5C | \ | Ukośnik wsteczny |
93 | 5D | ] | Nawias kwadratowy zamykający |
94 | 5E | ^ | "Pokrywa" |
95 | 5 | _ | Znak podkreślenia |
96 | 60 | ` | Apostrof |
97 | 61 | a | Łacińska mała litera a |
98 | 62 | b | Łacińska mała litera b |
99 | 63 | c | Łacińska mała litera c |
100 | 64 | d | Łacińska mała litera d |
101 | 65 | mi | Łacińska mała litera e |
102 | 66 | f | Łacińska mała litera f |
103 | 67 | g | Łacińska mała litera g |
104 | 68 | h | Łacińska mała litera h |
105 | 69 | i | Łacińska mała litera i |
106 | 6A | j | Łacińska mała litera j |
107 | 6B | k | Łacińska mała litera k |
108 | 6C | ja | Łacińska mała litera l |
109 | 6D | m | Łacińska mała litera m |
110 | 6E | n | Łacińska mała litera n |
111 | 6F | o | Łacińska mała litera o |
112 | 70 | p | Łacińska mała litera p |
113 | 71 | q | Łacińska mała litera q |
114 | 72 | r | Łacińska mała litera r |
115 | 73 | s | Łacińska mała litera s |
116 | 74 | t | Łacińska mała litera t |
117 | 75 | ty | Łacińska mała litera u |
118 | 76 | v | Łacińska mała litera v |
119 | 77 | w | Łacińska mała litera w |
120 | 78 | x | mała łacińska litera x |
121 | 79 | tak | Łacińska mała litera y |
122 | 7A | z | Łacińska mała litera z |
123 | 7B | { | Otwórz nawias klamrowy |
124 | 7C | | | pionowy pasek |
125 | 7D | } | Zamknij nawias klamrowy |
126 | 7E | ~ | Tylda |
127 | 7F | ⌂ |
W klasycznej wersji tablicy znaków ASCII nie ma rosyjskich liter i składa się ona z 7 bitów. Jednak później tablica ta została rozszerzona do 8 bitów, aw górnych 128 wierszach pojawiły się rosyjskie litery w kodzie binarnym i symbole pseudograficzne. W ogólnym przypadku druga część zawiera alfabety narodowe różnych krajów, a litery rosyjskie to tylko jeden z możliwych zestawów (855), może być tabela francuska (863), niemiecka (1141) lub grecka (737). Tabela 2 pokazuje przykład reprezentacji liter rosyjskich w kodzie binarnym.
Tabela 2. Tabela reprezentacji liter rosyjskich w kodzie binarnym (ASCII)
Kod dziesiętny | Kod szesnastkowy | Wyświetlany znak | Oznaczający |
---|---|---|---|
128 | 80 | ALE | Wielka rosyjska litera A |
129 | 81 | B | Wielka rosyjska litera B |
130 | 82 | W | Wielka rosyjska litera V |
131 | 83 | G | Wielka rosyjska litera G |
132 | 84 | D | Wielka rosyjska litera D |
133 | 85 | mi | Wielka rosyjska litera E |
134 | 86 | ORAZ | Wielka rosyjska litera Zh |
135 | 87 | W | Wielka rosyjska litera Z |
136 | 88 | I | Wielka rosyjska litera I |
137 | 89 | Tak | Wielka rosyjska litera Y |
138 | 8A | Do | Wielka rosyjska litera K |
139 | 8B | L | Wielka rosyjska litera L |
140 | 8C | M | Wielka rosyjska litera M |
141 | 8D | H | Wielka rosyjska litera N |
142 | 8E | O | Wielka rosyjska litera O |
143 | 8F | P | Wielka rosyjska litera P |
144 | 90 | R | Wielka rosyjska litera R |
145 | 91 | Z | Wielka rosyjska litera C |
146 | 92 | T | Wielka rosyjska litera T |
147 | 93 | Na | Wielka rosyjska litera U |
148 | 94 | F | Wielka rosyjska litera F |
149 | 95 | X | Wielka rosyjska litera X |
150 | 96 | C | Wielka rosyjska litera C |
151 | 97 | H | Wielka rosyjska litera Ch |
152 | 98 | W | Wielka rosyjska litera Sh |
153 | 99 | SCH | Wielka rosyjska litera Ш |
154 | 9A | Kommiersant | Wielka rosyjska litera Ъ |
155 | 9B | S | Wielka rosyjska litera Y |
156 | 9C | b | Wielka rosyjska litera b |
157 | 9D | mi | Wielka rosyjska litera E |
158 | 9E | YU | Wielka rosyjska litera Yu |
159 | 9F | I | Wielka rosyjska litera Ya |
160 | A0 | a | Mała rosyjska litera a |
161 | A1 | b | Mała rosyjska litera b |
162 | A2 | w | Mała rosyjska litera v |
163 | A3 | G | Mała rosyjska litera g |
164 | A4 | d | Mała rosyjska litera d |
165 | A5 | mi | Mała rosyjska litera e |
166 | A6 | oraz | Mała rosyjska litera zh |
167 | A7 | h | Mała rosyjska litera z |
168 | A8 | oraz | Mała rosyjska litera i |
169 | A9 | ten | Mała rosyjska litera y |
170 | AA | do | Mała rosyjska litera k |
171 | AB | ja | Mała rosyjska litera l |
172 | AC | m | Mała rosyjska litera m |
173 | OGŁOSZENIE | n | Mała rosyjska litera n |
174 | AE | o | Mała rosyjska litera o |
175 | AF | P | Mała rosyjska litera p |
176 | B0 | ░ | |
177 | B1 | ▒ | |
178 | B2 | ▓ | |
179 | B3 | │ | Pseudo symbol |
180 | B4 | ┤ | Pseudo symbol |
181 | B5 | ╡ | Pseudo symbol |
182 | B6 | ╢ | Pseudo symbol |
183 | B7 | ╖ | Pseudo symbol |
184 | B8 | ╕ | Pseudo symbol |
185 | B9 | ╣ | Pseudo symbol |
186 | BA | ║ | Pseudo symbol |
187 | nocleg ze śniadaniem | ╗ | Pseudo symbol |
188 | pne | ╝ | Pseudo symbol |
189 | BD | ╜ | Pseudo symbol |
190 | BYĆ | ╛ | Pseudo symbol |
191 | bf | ┐ | Pseudo symbol |
192 | C0 | └ | Pseudo symbol |
193 | C1 | ┴ | Pseudo symbol |
194 | C2 | ┬ | Pseudo symbol |
195 | C3 | ├ | Pseudo symbol |
196 | C4 | ─ | Pseudo symbol |
197 | C5 | ┼ | Pseudo symbol |
198 | C6 | ╞ | Pseudo symbol |
199 | C7 | ╟ | Pseudo symbol |
200 | C8 | ╚ | Pseudo symbol |
201 | C9 | ╔ | Pseudo symbol |
202 | CA | ╩ | Pseudo symbol |
203 | CB | ╦ | Pseudo symbol |
204 | CC | ╠ | Pseudo symbol |
205 | płyta CD | ═ | Pseudo symbol |
206 | CE | ╬ | Pseudo symbol |
207 | CF | ╧ | Pseudo symbol |
208 | D0 | ╨ | Pseudo symbol |
209 | D1 | ╤ | Pseudo symbol |
210 | D2 | ╥ | Pseudo symbol |
211 | D3 | ╙ | Pseudo symbol |
212 | D4 | ╘ | Pseudo symbol |
213 | D5 | ╒ | Pseudo symbol |
214 | D6 | ╓ | Pseudo symbol |
215 | D7 | ╫ | Pseudo symbol |
216 | D8 | ╪ | Pseudo symbol |
217 | D9 | ┘ | Pseudo symbol |
218 | DA | ┌ | Pseudo symbol |
219 | DB | █ | |
220 | DC | ▄ | |
221 | DD | ▌ | |
222 | DE | ▐ | |
223 | D.F. | ▀ | |
224 | E0 | R | Mała rosyjska litera p |
225 | E1 | Z | Mała rosyjska litera c |
226 | E2 | t | Mała rosyjska litera t |
227 | E3 | w | Mała rosyjska litera u |
228 | E 4 | f | Mała rosyjska litera f |
229 | E5 | X | Mała rosyjska litera x |
230 | E6 | c | Mała rosyjska litera c |
231 | E7 | h | Mała rosyjska litera h |
232 | E8 | w | Mała rosyjska litera sh |
233 | E9 | sch | Mała rosyjska litera u |
234 | EA | b | Mała rosyjska litera ъ |
235 | EB | s | Mała rosyjska litera y |
236 | UE | b | Mała rosyjska litera ь |
237 | ED | uh | Mała rosyjska litera e |
238 | EE | Yu | Mała rosyjska litera u |
239 | EF | I | Mała rosyjska litera i |
240 | F0 | Siema | Wielka rosyjska litera Yo |
241 | F1 | Siema | Mała rosyjska litera ё |
242 | F2 | Є | |
243 | F3 | є | |
244 | F4 | Ї | |
245 | F5 | Ї | |
246 | F6 | Ў | |
247 | F7 | ў | |
248 | F8 | ° | znak stopnia |
249 | F9 | ∙ | Znak mnożenia (kropka) |
250 | FA | · | |
251 | √ | Radykalny (zakorzeniony) | |
252 | FC | № | Znak liczbowy |
253 | FD | ¤ | Znak waluty (rubel) |
254 | F.E. | ■ | |
255 | FF |
Podczas pisania tekstów, oprócz kodów binarnych, które bezpośrednio wyświetlają litery, używane są kody wskazujące przejście do nowej linii i powrót kursora (powrót karetki) do pozycji zerowej linii. Te znaki są zwykle używane razem. Ich kody binarne odpowiadają liczbom dziesiętnym - 10 (0A) i 13 (0D). Jako przykład poniżej znajduje się fragment tekstu tej strony (zrzut pamięci). Ta sekcja zawiera pierwszy akapit. Do wyświetlania informacji w zrzucie pamięci używany jest następujący format:
- pierwsza kolumna zawiera binarny adres pierwszego bajtu ciągu
- następne szesnaście kolumn zawiera bajty zawarte w pliku tekstowym. Dla wygodniejszego określenia liczby bajtów po ósmej kolumnie rysowana jest pionowa linia. Bajty, dla zwięzłości, są reprezentowane w kodzie szesnastkowym.
- w ostatniej kolumnie te same bajty są reprezentowane jako wyświetlane znaki alfabetyczne
W powyższym przykładzie widać, że pierwszy wiersz tekstu ma 80 bajtów. Pierwszy bajt 82 odpowiada literze „B”. Drugi bajt E1 odpowiada literze „c”. Trzeci bajt A5 odpowiada literze „e”. Następny bajt 20 reprezentuje pustą przestrzeń między słowami (spację) " ". Bajty 81 i 82 zawierają znaki powrotu karetki i przesunięcia wiersza 0D 0A. Te znaki znajdujemy pod adresem binarnym 00000050: Kolejny wiersz tekstu źródłowego nie jest wielokrotnością 16 (jego długość to 76 liter), więc aby znaleźć jego koniec, należy najpierw znaleźć wiersz 000000E0: i policzyć dziewięć kolumn od niego. Znowu zapisywane są tam bajty powrotu karetki i wysuwu wiersza 0D 0A. Pozostała część tekstu jest analizowana dokładnie w ten sam sposób.
Data ostatniej aktualizacji pliku 04.12.2018
Literatura:
Wraz z artykułem „Pisanie tekstów w kodzie binarnym” czytają:
Reprezentacja liczb binarnych w pamięci komputera lub mikrokontrolera
http://website/proc/IntCod.php
Czasami wygodnie jest przechowywać liczby w pamięci procesora w postaci dziesiętnej.
http://website/proc/DecCod.php
Standardowe formaty zmiennoprzecinkowe dla komputerów i mikrokontrolerów
http://witryna/proc/float/
Obecnie zarówno pozycyjne, jak i niepozycyjne systemy liczbowe są szeroko stosowane zarówno w technologii, jak i w życiu codziennym.
.php
Ponieważ jest najprostszy i spełnia wymagania:
- Im mniej wartości istnieje w systemie, tym łatwiej wykonać poszczególne elementy operujące na tych wartościach. W szczególności dwie cyfry systemu liczb binarnych można łatwo przedstawić za pomocą wielu zjawisk fizycznych: jest prąd - nie ma prądu, indukcja pola magnetycznego jest większa niż wartość progowa lub nie itp.
- Im mniejsza liczba stanów dla elementu, tym wyższa odporność na zakłócenia i tym szybciej może działać. Przykładowo, aby zakodować trzy stany poprzez wartość indukcji pola magnetycznego, konieczne będzie wprowadzenie dwóch wartości progowych, które nie wpłyną na odporność na zakłócenia i niezawodność przechowywania informacji.
- Arytmetyka binarna jest dość prosta. Proste są tablice dodawania i mnożenia - podstawowe operacje na liczbach.
- Możliwe jest wykorzystanie aparatu algebry logiki do wykonywania operacji bitowych na liczbach.
Spinki do mankietów
- Kalkulator online do przeliczania liczb z jednego systemu liczbowego na inny
Fundacja Wikimedia. 2010 .
Zobacz, co „Kod binarny” znajduje się w innych słownikach:
2 Kod bitowy Gray 00 01 11 10 3 Kod bitowy Gray 000 000 001 011 010 110 111 101 100 4 Kod bitowy Gray 0000 00 0001 0011 0010 0110 01111 0100 1100 1101 1111 1110 1010 1011 1000 Szary Kod niestandardowy, w którym są dwa sąsiednie wartości, w których występują dwie sąsiednie wartości … … Wikipedia
Kod punktu sygnału (angielski kod punktu sygnału (SPC)) systemu sygnalizacji 7 (SS7, SS 7) jest unikalnym (w sieci domowej) adresem węzła używanym na trzecim poziomie MTP (routing) w sieciach telekomunikacyjnych SS 7 do zidentyfikować ... Wikipedia
W matematyce liczba bezkwadratowa to liczba, która nie jest podzielna przez żaden kwadrat inny niż 1. Na przykład 10 jest bezkwadratowe, ale 18 nie, ponieważ 18 jest podzielne przez 9 = 32. Początek ciągu liczb bezkwadratowych to : 1, 2, 3, 5, 6, 7, ... ... Wikipedia
Czy chcesz ulepszyć ten artykuł?: Wikifikuj artykuł. Przerób projekt zgodnie z zasadami pisania artykułów. Popraw artykuł zgodnie z zasadami stylistycznymi Wikipedii ... Wikipedia
Termin ten ma inne znaczenia, patrz Python (ujednoznacznienie). Python Klasa języka: mu ... Wikipedia
W wąskim znaczeniu tego słowa, obecnie wyrażenie to jest rozumiane jako „atak na system bezpieczeństwa” i skłania się raczej do znaczenia następującego terminu atak crackera. Wynikało to z wypaczenia znaczenia słowa „haker”. Haker ... ... Wikipedia
Postanowiłem zrobić takie narzędzie jak konwersja tekstu na kod binarny i odwrotnie, są takie usługi, ale zwykle działają z łaciną, ale moje translator działa z kodowaniem Unicode UTF-8, który koduje znaki cyrylicy w dwóch bajtach. Nie da się przetłumaczyć chińskich znaków, ale zamierzam naprawić to niefortunne nieporozumienie.
Aby przekonwertować tekst na reprezentację binarną wpisz tekst w lewym polu i naciśnij TEXT->BIN w prawym polu, pojawi się jego binarna reprezentacja.
Aby przekonwertować kod binarny na tekst wprowadź kod w prawym oknie i naciśnij BIN->TEKST w lewym oknie pojawi się jego symboliczna reprezentacja.
Jeśli konwertowanie kodu binarnego na tekst lub odwrotnie nie wyszło - sprawdź poprawność swoich danych!
Aktualizacja!
Dostępna jest teraz transformacja tekstu odwróconego:
w normalny wygląd. Aby to zrobić, zaznacz pole: "Zamień 0 na spacje i 1 na symbol zastępczy █". Następnie wklej tekst w odpowiednie pole: "Tekst w reprezentacji binarnej" i naciśnij przycisk pod nim "BIN->TEKST".
Przy kopiowaniu takich tekstów trzeba być ostrożnym, ponieważ. możesz łatwo stracić spacje na początku lub na końcu. Na przykład powyższa linia wygląda tak:
██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██
a na czerwonym tle:
██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██
zobaczyć, ile spacji na końcu można stracić?
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.
Pojemność kodu binarnego, Konwersja informacji z postaci ciągłej na dyskretną, Uniwersalność kodowania binarnego, Kody jednolite i niejednolite, Informatics Grade 7 Bosov, Informatics Grade 7
1.5.1. Konwersja informacji z postaci ciągłej na dyskretną
Aby rozwiązać swoje problemy, osoba często musi przekonwertować dostępne informacje z jednej formy reprezentacji na inną. Na przykład podczas głośnego czytania informacje są konwertowane z postaci dyskretnej (tekstowej) na ciągłą (dźwiękową). Natomiast podczas dyktando na lekcji języka rosyjskiego informacja jest przekształcana z formy ciągłej (głos nauczyciela) na dyskretną (notatki uczniów).
Informacje prezentowane w dyskretnej formie są znacznie łatwiejsze do przesłania, przechowywania lub automatycznego przetwarzania. Dlatego w technice komputerowej dużą wagę przywiązuje się do metod konwersji informacji z postaci ciągłej na dyskretną.
Dyskretyzacja informacji to proces przekształcania informacji z ciągłej formy reprezentacji w dyskretną.
Rozważ istotę procesu dyskretyzacji informacji na przykładzie.
Stacje meteorologiczne posiadają przyrządy samorejestrujące do ciągłej rejestracji ciśnienia atmosferycznego. Efektem ich pracy są barogramy - krzywe pokazujące, jak zmieniało się ciśnienie na przestrzeni długich okresów czasu. Jedną z takich krzywych wykreślonych przez instrument podczas siedmiu godzin obserwacji pokazano na rys. 1.9.
Na podstawie uzyskanych informacji można skonstruować tabelę zawierającą odczyty przyrządu na początku pomiarów i na koniec każdej godziny obserwacji (rys. 1.10).
Wynikowa tabela nie daje pełnego obrazu tego, jak zmieniało się ciśnienie w okresie obserwacji: na przykład najwyższa wartość ciśnienia, która wystąpiła podczas czwartej godziny obserwacji, nie jest wskazana. Ale jeśli wprowadzisz do tabeli wartości ciśnienia obserwowane co pół godziny lub 15 minut, nowa tabela da pełniejszy obraz tego, jak zmieniło się ciśnienie.
Tak więc informacje przedstawione w postaci ciągłej (barogram, krzywa), z pewną utratą dokładności, przekształciliśmy w postać dyskretną (tabela).
W przyszłości poznasz metody dyskretnej prezentacji informacji dźwiękowej i graficznej.
Łańcuchy trzech znaków binarnych uzyskuje się uzupełniając dwucyfrowe kody binarne po prawej stronie o znak 0 lub 1. W efekcie kombinacje kodowe trzech znaków binarnych to 8 - dwa razy więcej niż z dwóch znaków binarnych:
W związku z tym czterobitowy binarny pozwala uzyskać 16 kombinacji kodów, pięciobitowy - 32, sześciobitowy - 64 itd. Długość łańcucha binarnego - liczba znaków w kodzie binarnym - wynosi nazywana głębią bitową kodu binarnego.
Zwróć uwagę, że:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 itd.
W tym przypadku liczba kombinacji kodów jest iloczynem pewnej liczby identycznych współczynników równych głębi bitowej kodu binarnego.
Jeżeli liczba kombinacji kodów jest oznaczona literą N, a głębia bitowa kodu binarnego literą i, to ujawniony wzorzec w postaci ogólnej zostanie zapisany w następujący sposób:
N = 2 * 2 * ... * 2.
ja czynniki
W matematyce takie produkty są zapisywane jako:
N = 2i.
Rekord 2 czytam tak: „2 do i-tej potęgi”.
Zadanie. Przywódca plemienia Multi polecił swojemu ministrowi opracowanie binarnego i przetłumaczenie na niego wszystkich ważnych informacji. Jaka głębia bitowa byłaby wymagana, jeśli alfabet używany przez plemię Multi ma 16 znaków? Zapisz wszystkie kombinacje kodów.
Rozwiązanie. Ponieważ alfabet plemienia Multi składa się z 16 znaków, potrzebują one również 16 kombinacji kodów, w tym przypadku długość (pojemność cyfr) kodu binarnego jest określana ze stosunku: 16 = 2 i . Stąd i = 4.
Aby wypisać wszystkie kombinacje kodów czterech 0 i 1, użyjemy diagramu na ryc. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.
1.5.3. Wszechstronność kodowania binarnego
Na początku tej sekcji dowiedziałeś się, że gdy jest reprezentowany w formie ciągłej, może być wyrażany za pomocą symboli jakiegoś języka naturalnego lub formalnego. Z kolei dowolne znaki alfabetu można przekonwertować na binarne. Tak więc za pomocą kodu binarnego każdy może być reprezentowany w językach naturalnych i formalnych, a także obrazach i dźwiękach (ryc. 1.14). Oznacza to uniwersalność kodowania binarnego.
Kody binarne są szeroko stosowane w technice komputerowej, wymagające tylko dwóch stanów układu elektronicznego - „włączony” (odpowiadający cyfrze 1) i „wyłączony” (odpowiadający cyfrze 0).
Prostota implementacji technicznej to główna zaleta kodowania binarnego. Wadą kodowania binarnego jest duża długość wynikowego kodu.
1.5.4. Kody jednolite i niejednolite
Rozróżnij kody jednolite i niejednolite. Kody jednolite w kombinacjach normowych zawierają tę samą liczbę znaków, nieparzyste - różne.
Powyżej rozważyliśmy jednolite kody binarne.
Przykładem kodu niejednorodnego jest kod Morse'a, w którym sekwencja krótkich i długich sygnałów jest zdefiniowana dla każdej litery i cyfry. Tak więc litera E odpowiada krótkiemu sygnałowi („kropka”), a litera Ш odpowiada czterem długim sygnałom (cztery „kreski”). Uneven pozwala na zwiększenie szybkości transmisji wiadomości ze względu na to, że najczęściej występujące symbole w przesyłanej informacji mają najkrótsze kombinacje kodowe.
Informacja podana tym symbolem jest równa entropii układu i jest maksymalna w przypadku, gdy oba stany są jednakowo prawdopodobne; w tym przypadku symbol elementarny przekazuje informację 1 (jednostki podwójne). Dlatego podstawą optymalnego kodowania będzie wymóg, aby znaki elementarne w zakodowanym tekście występowały średnio równie często.
Opiszmy tutaj metodę konstruowania kodu, który spełnia postawiony warunek; ta metoda jest znana jako kod Shannona-Fano. Jego idea polega na tym, że zakodowane znaki (litery lub kombinacje liter) są podzielone na dwie w przybliżeniu równie prawdopodobne grupy: dla pierwszej grupy znaków 0 jest umieszczane na pierwszym miejscu kombinacji (pierwszy znak liczby binarnej reprezentującej postać); dla drugiej grupy - 1. Ponadto, każda grupa jest ponownie podzielona na dwie w przybliżeniu równie prawdopodobne podgrupy; dla symboli pierwszej podgrupy zero jest umieszczane na drugim miejscu; dla drugiej podgrupy - jedna itd.
Zademonstrujmy zasadę konstruowania kodu Shannon - Fano na materiale alfabetu rosyjskiego (tabela 18.8.1). Policzmy pierwsze sześć liter (od „-” do „t”); sumując ich prawdopodobieństwa (częstotliwości), otrzymujemy 0,498; wszystkie inne litery (od „n” do „sf”) będą miały w przybliżeniu takie samo prawdopodobieństwo 0,502. Pierwsze sześć liter (od „-” do „t”) będzie miało w pierwszej kolejności znak binarny 0. Pozostałe litery (od „n” do „f”) będą miały w pierwszej kolejności jednostkę. Następnie ponownie dzielimy pierwszą grupę na dwie w przybliżeniu równie prawdopodobne podgrupy: od „-” do „o” i od „e” do „t”; dla wszystkich liter pierwszej podgrupy na drugim miejscu wstawiamy zero, a dla drugiej podgrupy jeden.Proces będziemy kontynuować, aż w każdym podziale pozostanie dokładnie jedna litera, która zostanie zakodowana przez określoną liczbę binarną. mechanizm pokazano w tabeli 18.8.2, a sam kod w tabeli 18.8.3.
Tabela 18.8.2.
Znaki binarne |
|||||||||
Tabela 18.8.3
Tabela 18.8.3 umożliwia kodowanie i dekodowanie dowolnej wiadomości.
Jako przykład wpiszmy frazę w kodzie binarnym: „teoria informacji”
01110100001101000110110110000
0110100011111111100110100
1100001011111110101100110
Zauważ, że tutaj nie ma potrzeby oddzielania od siebie liter specjalnym znakiem, ponieważ nawet bez tego dekodowania odbywa się jednoznacznie. Można to zweryfikować, dekodując następującą frazę za pomocą tabeli 18.8.2:
10011100110011001001111010000
1011100111001001101010000110101
010110000110110110
(„metoda kodowania”).
Należy jednak zauważyć, że każdy błąd kodowania (przypadkowe pomylenie znaków 0 i 1) z takim kodem jest fatalny, ponieważ dekodowanie całego tekstu po błędzie staje się niemożliwe. Dlatego ta zasada kodowania może być zalecana tylko w przypadku, gdy błędy w kodowaniu i transmisji wiadomości są praktycznie wykluczone.
Powstaje naturalne pytanie: czy kod, który skompilowaliśmy bez błędów, jest naprawdę optymalny? Aby odpowiedzieć na to pytanie, znajdźmy średnią informację przypadającą na jeden symbol elementarny (0 lub 1) i porównajmy ją z maksymalną możliwą informacją, która jest równa jednej jednostce binarnej. Aby to zrobić, najpierw znajdujemy średnią informację zawartą w jednej literze przesyłanego tekstu, tj. Entropię na literę:
,
gdzie jest prawdopodobieństwo, że litera przyjmie określony stan („-”, o, e, a, ..., f).
Z tabeli. 18.8.1 mamy
(dwie jednostki na literę tekstu).
Zgodnie z tabelą 18.8.2 określamy średnią liczbę podstawowych znaków na literę
Dzieląc entropię przez, otrzymujemy informację na symbol elementarny
(dwie jednostki).
Tak więc informacja na symbol jest bardzo bliska górnej granicy 1, a wybrany przez nas kod jest bardzo bliski optymalnemu. Pozostając w granicach zadania kodowania literą, nie możemy nic lepszego uzyskać.
Zauważ, że w przypadku kodowania tylko binarnych liczb liter, mielibyśmy obraz każdej litery z pięcioma znakami binarnymi, a informacje na znak byłyby
(dwie jednostki),
tj. zauważalnie mniej niż przy optymalnym kodowaniu liter.
Należy jednak zauważyć, że kodowanie ortograficzne wcale nie jest ekonomiczne. Faktem jest, że zawsze istnieje zależność między sąsiednimi literami dowolnego sensownego tekstu. Na przykład po samogłosce w języku rosyjskim nie może następować „ъ” lub „ь”; po syczeniu „ja” lub „yu” nie mogą znieść; po kilku spółgłoskach z rzędu wzrasta prawdopodobieństwo samogłoski itp.
Wiemy, że gdy połączy się układy zależne, całkowita entropia jest mniejsza niż suma entropii poszczególnych układów; dlatego informacja przekazywana przez kawałek połączonego tekstu jest zawsze mniejsza niż informacja na znak pomnożona przez liczbę znaków. Biorąc pod uwagę tę okoliczność, można skonstruować bardziej ekonomiczny kod, jeśli nie każda litera jest kodowana oddzielnie, ale całe „bloki” liter. Na przykład w tekście rosyjskim sensowne jest zakodowanie w całości niektórych często występujących kombinacji liter, takich jak „ts”, „ает”, „nie” itp. Zakodowane bloki są ułożone w kolejności malejącej częstotliwości, jak litery w tabeli. 18.8.1, a kodowanie binarne odbywa się zgodnie z tą samą zasadą.
W niektórych przypadkach sensowne okazuje się zakodowanie nie nawet bloków liter, ale całych znaczących fragmentów tekstu. Na przykład, aby rozładować biuro telegraficzne w święta, wskazane jest zakodowanie całych standardowych tekstów z numerami warunkowymi, takimi jak:
„Szczęśliwego Nowego Roku, życzę dobrego zdrowia i powodzenia w pracy”.
Nie zatrzymując się konkretnie na metodach kodowania blokowego, ograniczamy się do sformułowania powiązanego twierdzenia Shannona.
Niech będzie źródło informacji i odbiornik połączony kanałem komunikacyjnym (rys. 18.8.1).
Znana jest wydajność źródła informacji, tj. średnia liczba binarnych jednostek informacji pochodzących ze źródła na jednostkę czasu (liczbowo jest równa średniej entropii wiadomości wytwarzanej przez źródła w jednostce czasu). Niech ponadto znana jest pojemność kanału, tj. maksymalna ilość informacji (na przykład znaki binarne 0 lub 1), jaką kanał może przesłać w tej samej jednostce czasu. Powstaje pytanie: jaka powinna być przepustowość kanału, aby „podołał” swojemu zadaniu, czyli aby informacja ze źródła do odbiorcy dotarła bez opóźnień?
Odpowiedź na to pytanie daje pierwsze twierdzenie Shannona. Formułujemy to tutaj bez dowodu.
1. twierdzenie Shannona
Jeżeli przepustowość kanału komunikacyjnego jest większa niż entropia źródła informacji na jednostkę czasu
wtedy zawsze możliwe jest zakodowanie wystarczająco długiej wiadomości, aby została ona przekazana kanałem komunikacyjnym bez opóźnień. Jeśli wręcz przeciwnie,
wtedy transmisja informacji bez opóźnień jest niemożliwa.