Šifriranje riječi u binarnom kodu. Kodiranje tekstualnih informacija. Pretvaranje binarnog sistema u decimalni broj


Aryabhata
Ćirilica
grčki Gruzijski
Etiopljanin
Jevrejin
Akshara-sankhya Ostalo babilonski
Egipatski
etruščanski
Roman
Dunav Potkrovlje
Kipu
Mayan
Aegean
KPPU simboli Positional , , , , , , , , , , Nega-pozicioni Simetrično Mješoviti sistemi Fibonacci Ne-pozicioni jedinica (unarna)

Binarni sistem brojeva- pozicioni brojevni sistem sa bazom 2. Zahvaljujući direktnoj implementaciji u digitalna elektronska kola koja koriste logičke kapije, binarni sistem se koristi u skoro svim savremenim računarima i drugim računarskim elektronskim uređajima.

Binarni zapis brojeva

U binarnom brojevnom sistemu, brojevi se pišu pomoću dva simbola ( 0 I 1 ). Da ne bi bilo zabune u kom sistemu brojeva je broj upisan, u donjem desnom uglu je opremljen indikatorom. Na primjer, broj u decimalnom sistemu 5 10 , u binarnom obliku 101 2 . Ponekad se binarni broj označava prefiksom 0b ili simbol & (ampersand), Na primjer 0b101 ili shodno tome &101 .

U binarnom brojevnom sistemu (kao iu drugim brojevnim sistemima osim decimalnog), cifre se čitaju jedna po jedna. Na primjer, broj 101 2 se izgovara kao "jedan nula jedan".

Integers

Prirodni broj zapisan u binarnom brojevnom sistemu kao (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), ima značenje:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\suma _(k=0)^(n-1)a_(k)2^(k),)

Negativni brojevi

Negativni binarni brojevi se označavaju na isti način kao i decimalni brojevi: znakom “−” ispred broja. Naime, negativan cijeli broj zapisan u binarnom brojevnom sistemu (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), ima vrijednost:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\suma _(k=0)^(n-1)a_( k)2^(k).)

dodatni kod.

Razlomci brojeva

Razlomak broj zapisan u binarnom brojevnom sistemu kao (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_(2)), ima vrijednost:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , (\displaystyle (a_( n-1)a_(n-2)\tačke a_(1)a_(0),a_(-1)a_(-2)\tačke a_(-(m-1))a_(-m))_( 2)=\suma _(k=-m)^(n-1)a_(k)2^(k),)

Sabiranje, oduzimanje i množenje binarnih brojeva

Tablica sabiranja

Primjer sabiranja stupaca (decimalni izraz 14 10 + 5 10 = 19 10 u binarnom obliku izgleda kao 1110 2 + 101 2 = 10011 2):

Primjer množenja stupaca (decimalni izraz 14 10 * 5 10 = 70 10 u binarnom obliku izgleda kao 1110 2 * 101 2 = 1000110 2):

Počevši od broja 1, svi brojevi se množe sa dva. Tačka koja dolazi iza 1 naziva se binarna tačka.

Pretvaranje binarnih brojeva u decimalne

Recimo da nam je dat binarni broj 110001 2 . Da biste ga pretvorili u decimalni, zapišite ga kao zbir cifara na sljedeći način:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Ista stvar malo drugačije:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Ovo možete napisati u obliku tabele ovako:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Krećite se s desna na lijevo. Ispod svake binarne jedinice upišite njen ekvivalent na liniji ispod. Dodajte rezultirajuće decimalne brojeve. Dakle, binarni broj 110001 2 je ekvivalentan decimalnom broju 49 10.

Pretvaranje razlomaka binarnih brojeva u decimalne

Potrebno je pretvoriti broj 1011010,101 2 na decimalni sistem. Zapišimo ovaj broj na sljedeći način:

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

Ista stvar malo drugačije:

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

Ili prema 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

Transformacija Hornerovom metodom

Da biste ove metode pretvorili brojeve iz binarnog u decimalni, potrebno je da zbrojite brojeve s lijeva na desno, množeći prethodno dobiveni rezultat sa osnovom sistema (u ovom slučaju 2). Hornerova metoda se obično koristi za pretvaranje iz binarnog u decimalni sistem. Obrnuta operacija je teška, jer zahtijeva vještine sabiranja i množenja u binarnom brojevnom sistemu.

Na primjer, binarni broj 1011011 2 konvertovano u decimalni sistem na sledeći način:

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

Odnosno, u decimalnom sistemu ovaj broj će biti zapisan kao 91.

Pretvaranje razlomaka brojeva Hornerovom metodom

Cifre se uzimaju od broja s desna na lijevo i dijele sa osnovom brojevnog sistema (2).

Na primjer 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

Odgovor: 0,1101 2 = 0,8125 10

Pretvaranje decimalnih brojeva u binarne

Recimo da trebamo pretvoriti broj 19 u binarni. Možete koristiti sljedeću proceduru:

19/2 = 9 sa ostatkom 1
9/2 = 4 sa ostatkom 1
4/2 = 2 bez ostatka 0
2/2 = 1 bez ostatka 0
1/2 = 0 sa ostatkom 1

Dakle, svaki količnik dijelimo sa 2 i ostatak pišemo na kraju binarnog zapisa. Nastavljamo dijeljenje dok količnik ne bude 0. Rezultat pišemo s desna na lijevo. Odnosno, donja znamenka (1) će biti krajnja lijeva, itd. Kao rezultat, dobijamo broj 19 u binarnoj notaciji: 10011 .

Pretvaranje razlomaka decimalnih brojeva u binarne

Ako originalni broj ima cijeli broj, tada se pretvara odvojeno od razlomka. Pretvaranje razlomka iz decimalnog brojevnog sistema u binarni sistem vrši se pomoću sledećeg algoritma:

  • Razlomak se množi sa osnovom binarnog brojevnog sistema (2);
  • U rezultirajućem proizvodu izoluje se cijeli dio koji se uzima kao najznačajnija znamenka broja u binarnom brojevnom sistemu;
  • Algoritam se završava ako je razlomački dio rezultirajućeg proizvoda jednak nuli ili ako je postignuta tražena točnost proračuna. U suprotnom, proračuni se nastavljaju na frakcijskom dijelu proizvoda.

Primjer: Trebate pretvoriti razlomak decimalnog broja 206,116 na razlomak binarnog broja.

Prevođenje cijelog dijela daje 206 10 =11001110 2 prema prethodno opisanim algoritmima. Pomnožimo razlomački dio 0,116 bazom 2, unoseći cijele dijelove proizvoda na decimalna mjesta željenog razlomka binarnog broja:

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

Dakle 0,116 10 ≈ 0, 0001110110 2

Dobijamo: 206.116 10 ≈ 11001110.0001110110 2

Prijave

U digitalnim uređajima

Binarni sistem se koristi u digitalnim uređajima jer je najjednostavniji i ispunjava uslove:

  • Što je manje vrijednosti u sistemu, lakše je proizvesti pojedinačne elemente koji rade na tim vrijednostima. Konkretno, dvije cifre binarnog brojevnog sistema mogu se lako predstaviti mnogim fizičkim pojavama: postoji struja (struja je veća od vrijednosti praga) - nema struje (struja je manja od vrijednosti praga), indukcija magnetnog polja je veća od granične vrijednosti ili ne (indukcija magnetskog polja je manja od vrijednosti praga) itd.
  • Što manje stanja element ima, to je veća otpornost na buku i brže može da radi. Na primjer, da biste kodirali tri stanja kroz veličinu napona, struje ili indukcije magnetskog polja, morat ćete uvesti dvije vrijednosti praga i dva komparatora.

U računarstvu se široko koristi zapisivanje negativnih binarnih brojeva u komplementu dva. Na primjer, broj −5 10 bi se mogao napisati kao −101 2, ali bi bio pohranjen kao 2 na 32-bitnom računaru.

U engleskom sistemu mjera

Kada se označavaju linearne dimenzije u inčima, tradicionalno se koriste binarni razlomci, a ne decimalni, na primjer: 5¾″, 7 15/16″, 3 11/32″, itd.

Generalizacije

Binarni brojevni sistem je kombinacija binarnog kodnog sistema i eksponencijalne funkcije ponderisanja sa bazom jednakom 2. Treba napomenuti da se broj može napisati u binarnom kodu, a brojni sistem možda nije binarni, već sa drugačija baza. Primjer: BCD kodiranje, u kojem su decimalne cifre zapisane u binarnom obliku, a sistem brojeva je decimalni.

Priča

  • Kompletan set od 8 trigrama i 64 heksagrama, analogni 3-bitnim i 6-bitnim brojevima, bio je poznat u staroj Kini u klasičnim tekstovima Knjige promjena. Redoslijed heksagrama u knjiga izmena, raspoređenih u skladu sa vrijednostima odgovarajućih binarnih cifara (od 0 do 63), a metodu za njihovo dobijanje razvio je kineski naučnik i filozof Shao Yong u 11. stoljeću. Međutim, nema dokaza koji bi ukazivali na to da je Shao Yun razumio pravila binarne aritmetike, slažući torke od dva znaka u leksikografskom redu.
  • Skupove, koji su kombinacije binarnih cifara, Afrikanci su koristili u tradicionalnom proricanju (kao što je Ifa) zajedno sa srednjovjekovnom geomancijom.
  • Godine 1854. engleski matematičar George Boole objavio je značajan rad koji opisuje algebarske sisteme primijenjene na logiku, koja je danas poznata kao Boolean algebra ili algebra logike. Njegov logički račun je bio predodređen da igra važnu ulogu u razvoju modernih digitalnih elektronskih kola.
  • Claude Shannon je 1937. godine predao svoju doktorsku tezu za odbranu. Simbolička analiza relejnih i sklopnih kola u kojoj su korištena Bulova algebra i binarna aritmetika u odnosu na elektronske releje i prekidače. Sva moderna digitalna tehnologija je u osnovi zasnovana na Shanononovoj disertaciji.
  • U novembru 1937., George Stibitz, koji je kasnije radio u Bell Labs-u, stvorio je računar “Model K” zasnovan na relejima. K svrab", kuhinja u kojoj je izvršena montaža), koja je vršila binarno sabiranje. Krajem 1938. Bell Labs je pokrenuo istraživački program koji je vodio Stiebitz. Kompjuter kreiran pod njegovim rukovodstvom, završen 8. januara 1940. godine, mogao je da izvodi operacije sa kompleksnim brojevima. Tokom demonstracije na konferenciji Američkog matematičkog društva na koledžu Dartmouth 11. septembra 1940., Stibitz je demonstrirao sposobnost slanja komandi udaljenom kalkulatoru složenih brojeva preko telefonske linije koristeći teletip mašinu. Ovo je bio prvi pokušaj korištenja udaljenog računara putem telefonske linije. Učesnici konferencije koji su svjedočili demonstracijama bili su John von Neumann, John Mauchly i Norbert Wiener, koji su kasnije o tome pisali u svojim memoarima.

vidi takođe

Bilješke

  1. Popova Olga Vladimirovna. Udžbenik informatike (nedefinirano) .

Binarni kod je oblik zapisa informacija u obliku jedinica i nula. Ovo je poziciono sa bazom 2. Danas se binarni kod (tabela predstavljena malo ispod sadrži neke primere pisanja brojeva) koristi u svim digitalnim uređajima bez izuzetka. Njegova popularnost objašnjava se visokom pouzdanošću i jednostavnošću ovog oblika snimanja. Binarna aritmetika je vrlo jednostavna, pa je shodno tome lako implementirati na hardverskom nivou. komponente (ili, kako ih još zovu, logičke) su vrlo pouzdane, jer rade u samo dva stanja: logička jedinica (postoji struja) i logička nula (nema struje). Dakle, oni su povoljni u poređenju sa analognim komponentama, čiji se rad zasniva na prolaznim procesima.

Kako je sastavljena binarna notacija?

Hajde da shvatimo kako se formira takav ključ. Jedan bit binarnog koda može sadržavati samo dva stanja: nulu i jedan (0 i 1). Kada se koriste dva bita, postaje moguće napisati četiri vrijednosti: 00, 01, 10, 11. Trobitni unos sadrži osam stanja: 000, 001 ... 110, 111. Kao rezultat, nalazimo da je dužina binarni kod zavisi od broja bitova. Ovaj izraz se može napisati pomoću sljedeće formule: N =2m, gdje je: m broj cifara, a N broj kombinacija.

Vrste binarnih kodova

U mikroprocesorima se takvi ključevi koriste za snimanje različitih obrađenih informacija. Širina binarnog koda može značajno premašiti njegovu ugrađenu memoriju. U takvim slučajevima, dugi brojevi zauzimaju nekoliko memorijskih lokacija i obrađuju se pomoću nekoliko naredbi. U ovom slučaju, svi memorijski sektori koji su dodijeljeni za višebajtni binarni kod smatraju se jednim brojem.

Ovisno o potrebi za pružanjem ovih ili onih informacija, razlikuju se sljedeće vrste ključeva:

  • unsigned;
  • direktni cjelobrojni znakovni kodovi;
  • predznačeni inverzi;
  • potpis dodatno;
  • Grey code;
  • Grey Express kod;
  • frakcioni kodovi.

Pogledajmo pobliže svaki od njih.

Nepotpisani binarni kod

Hajde da shvatimo šta je ovo vrsta snimanja. U kodovima bez predznaka, svaka cifra (binarna) predstavlja stepen dvojke. U ovom slučaju, najmanji broj koji se može napisati u ovom obliku je nula, a maksimum se može predstaviti sljedećom formulom: M = 2 n -1. Ova dva broja u potpunosti definiraju raspon ključa koji se može koristiti za izražavanje takvog binarnog koda. Pogledajmo mogućnosti pomenute forme za snimanje. Kada se koristi ovaj tip nepotpisanog ključa, koji se sastoji od osam bitova, raspon mogućih brojeva će biti od 0 do 255. Šesnaestobitni kod će imati raspon od 0 do 65535. U osmobitnim procesorima se koriste dva memorijska sektora za pohranjivanje i pisanje takvih brojeva, koji se nalaze u susjednim odredištima. Posebne komande omogućavaju rad sa takvim tipkama.

Direktni cijeli brojevi potpisani kodovi

U ovoj vrsti binarnog ključa, najznačajniji bit se koristi za zapis predznaka broja. Nula odgovara plusu, a jedan minus. Kao rezultat uvođenja ove znamenke, raspon kodiranih brojeva pomiče se na negativnu stranu. Ispostavilo se da osmobitni binarni cijeli broj s predznakom može pisati brojeve u rasponu od -127 do +127. Šesnaest bita - u rasponu od -32767 do +32767. Osmobitni mikroprocesori koriste dva susjedna sektora za pohranjivanje takvih kodova.

Nedostatak ovog oblika snimanja je što se predznak i digitalni bitovi ključa moraju obraditi odvojeno. Pokazalo se da su algoritmi programa koji rade sa ovim kodovima veoma složeni. Za promjenu i isticanje znakovnih bitova potrebno je koristiti mehanizme za maskiranje ovog simbola, što doprinosi naglom povećanju veličine softvera i smanjenju njegovih performansi. Kako bi se otklonio ovaj nedostatak, uvedena je nova vrsta ključa - obrnuti binarni kod.

Potpisan reverzni ključ

Ovaj oblik zapisa razlikuje se od direktnih kodova samo po tome što se negativni broj u njemu dobija invertiranjem svih bitova ključa. U ovom slučaju, digitalni i znakovni bit su identični. Zahvaljujući tome, algoritmi za rad s ovom vrstom koda su značajno pojednostavljeni. Međutim, obrnuti ključ zahtijeva poseban algoritam za prepoznavanje znaka prve cifre i izračunavanje apsolutne vrijednosti broja. Kao i vraćanje predznaka rezultirajuće vrijednosti. Štaviše, u kodovima za obrnuto i naprijed za brojeve, dva ključa se koriste za pisanje nule. Unatoč činjenici da ova vrijednost nema pozitivan ili negativan predznak.

Binarni broj komplementa sa dva potpisa

Ova vrsta zapisa nema navedene nedostatke prethodnih ključeva. Takvi kodovi omogućavaju direktno zbrajanje pozitivnih i negativnih brojeva. U ovom slučaju se ne vrši analiza bita predznaka. Sve je to moguće zahvaljujući činjenici da su komplementarni brojevi prirodni prsten simbola, a ne umjetne formacije kao što su tipke naprijed i nazad. Štaviše, važan faktor je da je izuzetno lako izvesti komplementarne proračune u binarnim kodovima. Da biste to učinili, samo dodajte jedan ključu za obrnuto. Kada koristite ovu vrstu znakovnog koda, koji se sastoji od osam cifara, raspon mogućih brojeva će biti od -128 do +127. Šesnaestobitni ključ će imati raspon od -32768 do +32767. Osmobitni procesori također koriste dva susjedna sektora za pohranjivanje takvih brojeva.

Komplementarni kod binarne dvojke zanimljiv je zbog svog vidljivog efekta, koji se naziva fenomen propagacije znaka. Hajde da shvatimo šta ovo znači. Ovaj učinak je da je u procesu pretvaranja jednobajtne vrijednosti u dvobajtnu dovoljno da se svakom bitu visokog bajta dodijele vrijednosti predznaka nižeg bajta. Ispostavilo se da možete koristiti najznačajnije bitove za pohranu potpisanog. U ovom slučaju, vrijednost ključa se uopće ne mijenja.

Grey kod

Ovaj oblik snimanja je u suštini ključ u jednom koraku. To jest, u procesu prijelaza s jedne vrijednosti na drugu, mijenja se samo jedan bit informacije. U ovom slučaju, greška u čitanju podataka dovodi do prijelaza s jedne pozicije na drugu s blagim vremenskim pomakom. Međutim, dobivanje potpuno pogrešnog rezultata kutnog položaja takvim postupkom je potpuno isključeno. Prednost takvog koda je njegova sposobnost preslikavanja informacija. Na primjer, invertiranjem najznačajnijih bitova, možete jednostavno promijeniti smjer brojanja. Ovo se dešava zahvaljujući kontrolnom ulazu Komplementa. U ovom slučaju, izlazna vrijednost može biti ili povećanje ili smanjenje za jedan fizički smjer rotacije ose. Budući da su informacije snimljene u Grey ključu isključivo kodirane prirode, koje ne nose stvarne numeričke podatke, prije daljeg rada potrebno ih je prvo pretvoriti u uobičajeni binarni oblik zapisa. To se radi pomoću posebnog pretvarača - Grey-Binar dekodera. Ovaj uređaj se lako implementira pomoću elementarnih logičkih elemenata u hardveru i softveru.

Grey Express Code

Grey-ov standardni jednostepeni ključ je pogodan za rješenja koja su predstavljena brojevima, dva. U slučajevima kada je potrebno implementirati druga rješenja, samo srednji dio se izrezuje iz ovog oblika snimanja i koristi. Kao rezultat toga, očuvana je priroda ključa u jednom koraku. Međutim, u ovom kodu početak numeričkog raspona nije nula. Pomiče se za navedenu vrijednost. Tokom obrade podataka, polovina razlike između početne i smanjene rezolucije oduzima se od generiranih impulsa.

Reprezentacija razlomka u binarnom ključu s fiksnom zarezom

U procesu rada morate raditi ne samo s cijelim brojevima, već i s razlomcima. Takvi brojevi se mogu napisati korištenjem direktnih, obrnutih i komplementarnih kodova. Princip konstruisanja pomenutih ključeva je isti kao kod celih brojeva. Do sada smo smatrali da bi binarni zarez trebao biti desno od najmanje značajne cifre. Ali to nije istina. Može se nalaziti lijevo od najznačajnije znamenke (u ovom slučaju se kao promjenljiva mogu pisati samo razlomci) i u sredini varijable (mogu se pisati mješovite vrijednosti).

Binarni prikaz s pomičnim zarezom

Ovaj oblik se koristi za pisanje ili obrnuto - vrlo mali. Primjeri uključuju međuzvjezdane udaljenosti ili veličine atoma i elektrona. Prilikom izračunavanja takvih vrijednosti, morali bi koristiti vrlo veliki binarni kod. Međutim, ne moramo uzeti u obzir kosmičke udaljenosti sa milimetarskom preciznošću. Stoga je oblik zapisa fiksne točke neefikasan u ovom slučaju. Za prikaz takvih kodova koristi se algebarski oblik. To jest, broj je zapisan kao mantisa pomnožena sa deset na stepen koji odražava željeni redoslijed broja. Trebalo bi da znate da mantisa ne bi trebalo da bude veća od jedan, a nula ne bi trebalo da se piše iza decimalnog zareza.

Vjeruje se da je binarni račun izumio početkom 18. stoljeća njemački matematičar Gottfried Leibniz. Međutim, kako su naučnici nedavno otkrili, mnogo prije polinezijskog ostrva Mangareva, ova vrsta aritmetike je korištena. Uprkos činjenici da je kolonizacija gotovo potpuno uništila originalne sisteme brojeva, naučnici su obnovili složene binarne i decimalne vrste brojanja. Osim toga, kognitivni naučnik Nunez tvrdi da se binarno kodiranje koristilo u staroj Kini još u 9. veku pre nove ere. e. Druge drevne civilizacije, kao što su Maje, takođe su koristile složene kombinacije decimalnih i binarnih sistema za praćenje vremenskih intervala i astronomskih fenomena.

Jedan digitalni signal nije vrlo informativan, jer može imati samo dvije vrijednosti: nulu i jedan. Stoga, u slučajevima kada je potrebno prenijeti, obraditi ili pohraniti velike količine informacija, obično se koristi nekoliko paralelnih digitalnih signala. Štaviše, sve ove signale treba posmatrati samo istovremeno; svaki od njih zasebno nema smisla. U takvim slučajevima govorimo o binarnim kodovima, odnosno kodovima formiranim digitalnim (logičkim, binarnim) signalima. Svaki od logičkih signala uključenih u kod naziva se bit. Što je više bitova uključeno u kod, više vrijednosti ovaj kod može uzeti.

Za razliku od nama poznatog decimalnog kodiranja brojeva, odnosno koda sa osnovom od deset, sa binarnim kodiranjem, osnova koda je broj dva (slika 2.9). Odnosno, svaka brojka koda (svaka cifra) binarnog koda ne može imati deset vrijednosti (kao u decimalnom kodu: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), već samo dva - 0 i 1. Sistem pozicionog snimanja ostaje isti, odnosno najmanja cifra se upisuje na desno, a najznačajnija na lijevo. Ali ako je u decimalnom sistemu težina svake sljedeće cifre deset puta veća od težine prethodne, onda je u binarnom sistemu (sa binarnim kodiranjem) dvostruko veća. Svaki bit binarnog koda naziva se bit (od engleskog "Binary Digit" - "binarni broj").

Rice. 2.9. Decimalno i binarno kodiranje

U tabeli Slika 2.3 prikazuje korespondenciju između prvih dvadeset brojeva u decimalnom i binarnom sistemu.

Tabela pokazuje da je potreban broj bitova binarnog koda znatno veći od potrebnog broja bitova decimalnog koda. Maksimalni mogući broj sa brojem cifara jednakim tri je 999 u decimalnom sistemu, a samo 7 u binarnom sistemu (tj. 111 u binarnom kodu). Općenito, n-bitni binarni broj može poprimiti 2n različitih vrijednosti, a n-bitni decimalni broj može poprimiti 10n različitih vrijednosti. Odnosno, pisanje velikih binarnih brojeva (sa više od deset cifara) nije baš zgodno.

Tabela 2.3. Korespondencija između brojeva u decimalnim i binarnim sistemima
Decimalni sistem Binarni sistem Decimalni sistem Binarni sistem

Kako bi se pojednostavilo snimanje binarnih brojeva, predložen je takozvani heksadecimalni sistem (heksadecimalno kodiranje). U ovom slučaju, svi binarni bitovi se dijele u grupe od četiri bita (počevši od najmanje značajnog), a zatim se svaka grupa kodira jednim simbolom. Svaka takva grupa se zove grickati(ili grickati, notebook), i dvije grupe (8 bita) - bajt. Sa stola 2.3 pokazuje da 4-bitni binarni broj može poprimiti 16 različitih vrijednosti (od 0 do 15). Dakle, potreban broj znakova za heksadecimalni kod je također 16, otuda i naziv koda. Prvih 10 znakova su brojevi od 0 do 9, a zatim se koristi 6 početnih velikih slova latinice: A, B, C, D, E, F.

Rice. 2.10. Binarni i heksadecimalni zapis brojeva

U tabeli 2.4 prikazuje primjere heksadecimalnog kodiranja prvih 20 brojeva (binarni brojevi su dati u zagradama), a sl. Slika 2.10 prikazuje primjer pisanja binarnog broja u heksadecimalnom obliku. Za označavanje heksadecimalnog kodiranja, slovo "h" ili "H" (od engleskog Hexadecimal) se ponekad koristi na kraju broja, na primjer, unos A17F h označava heksadecimalni broj A17F. Ovdje A1 predstavlja visoki bajt broja, a 7F je niži bajt broja. Poziva se cijeli broj (u našem slučaju dvobajtni broj). jednom riječju.

Tabela 2.4. Heksadecimalni sistem kodiranja
Decimalni sistem heksadecimalni sistem Decimalni sistem heksadecimalni sistem
0 (0) A (1010)
1(1) B (1011)
2 (10) C (1100)
3 (11) D (1101)
4 (100) E(1110)
5 (101) Ž (1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

Da biste heksadecimalni broj pretvorili u decimalni broj, trebate pomnožiti vrijednost najniže (nulte) cifre sa jedan, vrijednost sljedeće (prve) cifre sa 16, druge cifre sa 256 (16 2), itd. , a zatim dodajte sve proizvode. Na primjer, uzmite broj A17F:

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

Ali svaki stručnjak za digitalnu opremu (programer, operater, serviser, programer, itd.) treba da nauči da rukuje heksadecimalnim i binarnim sistemima jednako slobodno kao i sa regularnim decimalnim sistemima, tako da nisu potrebni nikakvi transferi sa sistema na sistem.

Pored kodova o kojima se raspravlja, postoji i takozvani binarno-decimalni prikaz brojeva. Kao iu heksadecimalnom kodu, u BCD kodu svaka cifra koda odgovara četiri binarne cifre, međutim, svaka grupa od četiri binarne cifre može imati ne šesnaest, već samo deset vrijednosti, kodiranih znakovima 0, 1, 2, 3, 4 , 5, 6, 7, 8, 9. To jest, jedno decimalno mjesto odgovara četiri binarne. Kao rezultat toga, ispada da se pisanje brojeva u binarnom decimalnom kodu ne razlikuje od pisanja u običnom decimalnom kodu (tabela 2.6), ali u stvarnosti je to samo poseban binarni kod, čija svaka znamenka može imati samo dvije vrijednosti: 0 i 1. BCD kod je ponekad vrlo zgodan za organizovanje decimalnih digitalnih indikatora i semafora.

Tabela 2.6. Binarni decimalni sistem kodiranja
Decimalni sistem Binarni decimalni sistem Decimalni sistem Binarni decimalni sistem
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)

U binarnom kodu možete izvoditi bilo koje aritmetičke operacije nad brojevima: zbrajanje, oduzimanje, množenje, dijeljenje.

Razmotrite, na primjer, dodavanje dva 4-bitna binarna broja. Dodajmo broj 0111 (decimala 7) i 1011 (decimala 11). Zbrajanje ovih brojeva nije teže nego u decimalnim zapisima:

Sabiranjem 0 i 0 dobijamo 0, sabiranjem 1 i 0 dobijamo 1, sabiranjem 1 i 1 dobijamo 0 i prenosimo na sledeću cifru 1. Rezultat je 10010 (decimala 18). Dodavanje bilo koja dva n-bitna binarna broja može rezultirati n-bitnim brojem ili (n+1)-bitnim brojem.

Oduzimanje se vrši na isti način. Neka se broj 0111 (7) oduzme od broja 10010 (18). Zapisujemo brojeve poravnate sa najmanjom značajnom cifrom i oduzimamo na isti način kao u slučaju decimalnog sistema:

Oduzimanjem 0 od 0 dobijamo 0, oduzimanjem 0 od 1 dobijamo 1, oduzimanjem 1 od 1 dobijamo 0, oduzimanjem 1 od 0 dobijamo 1 i pozajmljujemo 1 u sledećoj cifri. Rezultat je 1011 (decimala 11).

Prilikom oduzimanja moguće je dobiti negativne brojeve, tako da morate koristiti binarni prikaz negativnih brojeva.

Da bi se istovremeno predstavili i binarni pozitivni i binarni negativni brojevi, najčešće se koristi tzv. komplementarni kod. Negativni brojevi u ovom kodu izraženi su brojem koji će, kada se doda pozitivnom broju iste vrijednosti, rezultirati nulom. Da biste dobili negativan broj, potrebno je da promijenite sve bitove istog pozitivnog broja u suprotne (0 do 1, 1 do 0) i rezultatu dodate 1. Na primjer, upišite broj –5. Broj 5 u binarnom kodu izgleda kao 0101. Bitove zamjenjujemo suprotnim: 1010 i dodajemo jedan: 1011. Rezultat zbrajamo s originalnim brojem: 1011 + 0101 = 0000 (zanemarujemo prijenos na petu cifru) .

Negativni brojevi u komplementarnom kodu dvojke razlikuju se od pozitivnih brojeva po vrijednosti najznačajnije cifre: jedan u najznačajnijoj cifri definira negativan broj, a nula definira pozitivan broj.

Osim standardnih aritmetičkih operacija, binarni brojevni sistem koristi i neke specifične operacije, na primjer, sabiranje po modulu 2. Ova operacija (označena sa A) je bitna, odnosno nema prijenosa s jedne cifre na drugu i nema zaduživanja u najviše cifre. Pravila za sabiranje po modulu 2 su sljedeća: , , . Ista operacija se zove funkcija Ekskluzivno OR. Na primjer, zbrojimo po modulu 2 dva binarna broja 0111 i 1011:

Ostale bitne operacije na binarnim brojevima uključuju funkciju AND i funkciju OR. Funkcija AND rezultira jedinicom samo ako su odgovarajući bitovi dva originalna broja oba jedan, inače je rezultat -0. Funkcija OR rezultira jednom kada je barem jedan od odgovarajućih bitova originalnih brojeva 1, inače je rezultat 0.

Skup znakova kojim se piše tekst naziva se abeceda.

Broj znakova u abecedi je njegov moć.

Formula za određivanje količine informacija: N=2b,

gdje je N snaga abecede (broj znakova),

b – broj bitova (informaciona težina simbola).

Abeceda kapaciteta 256 znakova može primiti gotovo sve potrebne znakove. Ova abeceda se zove dovoljno.

Jer 256 = 2 8, tada je težina 1 karaktera 8 bita.

Jedinica mjerenja 8 bita dobila je ime 1 bajt:

1 bajt = 8 bitova.

Binarni kod svakog znaka u kompjuterskom tekstu zauzima 1 bajt memorije.

Kako su tekstualne informacije predstavljene u memoriji računara?

Pogodnost kodiranja znakova bajt po bajt je očigledna jer je bajt najmanji adresabilni dio memorije i stoga procesor može pristupiti svakom karakteru posebno prilikom obrade teksta. S druge strane, 256 znakova je sasvim dovoljan broj za predstavljanje širokog spektra simboličkih informacija.

Sada se postavlja pitanje koji osmobitni binarni kod dodijeliti svakom znaku.

Jasno je da je ovo uslovno; možete smisliti mnoge metode kodiranja.

Svi znakovi kompjuterske abecede su numerisani od 0 do 255. Svaki broj odgovara osmobitnom binarnom kodu od 00000000 do 11111111. Ovaj kod je jednostavno serijski broj znaka u binarnom brojevnom sistemu.

Tabela u kojoj su svim znakovima kompjuterske abecede dodijeljeni serijski brojevi naziva se tabela kodiranja.

Različiti tipovi računara koriste različite tablice kodiranja.

Tabela je postala međunarodni standard za računare ASCII(pročitajte upitno) (Američki standardni kod za razmjenu informacija).

Tabela ASCII kodova podijeljena je na dva dijela.

Samo prva polovina tabele je međunarodni standard, tj. simboli sa brojevima iz 0 (00000000), do 127 (01111111).

Struktura ASCII tablice kodiranja

Serijski broj

Kod

Simbol

0 - 31

00000000 - 00011111

Simboli s brojevima od 0 do 31 obično se nazivaju kontrolnim simbolima.
Njihova funkcija je kontrola procesa prikazivanja teksta na ekranu ili štampanja, oglašavanja zvučnog signala, označavanja teksta itd.

32 - 127

00100000 - 01111111

Standardni dio tabele (engleski). To uključuje mala i velika slova latinice, decimalne brojeve, znakove interpunkcije, sve vrste zagrada, komercijalne i druge simbole.
Znak 32 je razmak, tj. prazna pozicija u tekstu.
Svi ostali se odražavaju određenim znacima.

128 - 255

10000000 - 11111111

Alternativni dio tabele (ruski).
Druga polovina tabele kodova ASCII, nazvana kodna stranica (128 kodova, počevši od 10000000 i završavajući sa 11111111), može imati različite opcije, svaka opcija ima svoj broj.
Kodna stranica se prvenstveno koristi za smještaj nacionalnih alfabeta osim latinice. U ruskim nacionalnim kodovima, znakovi iz ruskog alfabeta nalaze se u ovom dijelu tabele.

Prva polovina tabele ASCII kodova


Imajte na umu da su u tablici kodiranja slova (velika i mala slova) raspoređena abecednim redom, a brojevi rastućim redoslijedom. Ovo poštovanje leksikografskog reda u rasporedu simbola naziva se princip sekvencijalnog kodiranja abecede.

Za slova ruskog alfabeta također se poštuje princip sekvencijalnog kodiranja.

Druga polovina tabele ASCII kodova


Nažalost, trenutno postoji pet različitih ćiriličkih kodiranja (KOI8-R, Windows. MS-DOS, Macintosh i ISO). Zbog toga često nastaju problemi sa prenošenjem ruskog teksta sa jednog računara na drugi, iz jednog softverskog sistema u drugi.

Hronološki, jedan od prvih standarda za kodiranje ruskih slova na računarima bio je KOI8 („Kod za razmenu informacija, 8-bitni“). Ovo kodiranje je korišćeno još 70-ih godina na računarima serije računara ES, a od sredine 80-ih počelo je da se koristi u prvim rusifikovanim verzijama UNIX operativnog sistema.

Od ranih 90-ih, vremena dominacije operativnog sistema MS DOS, ostaje CP866 kodiranje („CP“ znači „Kodna stranica“, „kodna stranica“).

Apple računari koji koriste Mac OS operativni sistem koriste vlastito Mac kodiranje.

Pored toga, Međunarodna organizacija za standardizaciju (ISO) je odobrila još jedno kodiranje pod nazivom ISO 8859-5 kao standard za ruski jezik.

Najčešći kodiranje koje se trenutno koristi je Microsoft Windows, skraćeno CP1251.

Od kasnih 90-ih, problem standardizacije kodiranja znakova riješen je uvođenjem novog međunarodnog standarda tzv. Unicode. Ovo je 16-bitno kodiranje, tj. dodjeljuje 2 bajta memorije za svaki znak. Naravno, ovo povećava količinu zauzete memorije za 2 puta. Ali takva kodna tabela omogućava uključivanje do 65536 znakova. Kompletna specifikacija Unicode standarda uključuje sve postojeće, izumrle i umjetno stvorene alfabete svijeta, kao i mnoge matematičke, muzičke, hemijske i druge simbole.

Pokušajmo koristiti ASCII tablicu da zamislimo kako će riječi izgledati u memoriji računara.

Interno predstavljanje riječi u memoriji računara

Ponekad se desi da se tekst koji se sastoji od slova ruske abecede primljen sa drugog računara ne može pročitati - na ekranu monitora je vidljiva neka vrsta "abrakadabre". To se dešava zato što računari koriste različita kodiranja znakova za ruski jezik.

Alat za binarne konverzije. Binarni kod je numerički sistem koji koristi bazu 2 koji se koristi u informatici, simboli koji se koriste u binarnom zapisu su uglavnom nula i jedan (0 i 1).

Odgovori na pitanja

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako pretvoriti broj u binarno?

Pretvaranje broja u binarni (sa nulama i jedinicama) sastoji se od a od baze 10 do baze 2 (prirodno binarni kod)

primjer: 5 (baza 10) = 1*2^2+0*2^1+1*2^0 = 101 (baza 2)

Metoda se sastoji od uzastopnih dijeljenja sa 2 i bilježenja ostatka (0 ili 1) obrnutim redoslijedom.

primjer: 6/2 = 3 ostaje 0, zatim 3/2 = 1 ostaje 1, zatim 1/2 = 0 ostaje 1. Uzastopni ostaci su 0,1,1 pa se 6 zapisuje 110 u binarnom.

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako pretvoriti tekst u binarni?

Povežite svakom slovu abecede broj, na primjer pomoću koda ili . Ovo će zamijeniti svako slovo brojem koji se zatim može pretvoriti u binarni (vidi gore).

primjer: AZ je 65,90 () pa 1000001.1011010 u binarnom

Slično za binarni prevod u tekst, pretvorite binarni u broj, a zatim povežite taj broj sa slovom u željenom kodu.

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako prevesti binarno

Binarno se ne prevodi direktno, bilo koji broj je kodiran u binarnom ostaje broj. S druge strane, u informatici je uobičajeno koristiti binarno za pohranjivanje teksta, na primjer korištenjem tabele, koja povezuje broj sa slovom. Prevodilac je dostupan na dCode.

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Šta je bit?

Bit (kontrakcija binarne cifre) je simbol u binarnoj notaciji: 0 ili 1.

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Šta je komplement sa 1?

U informatici, nečiji komplement je pisanje broja koji negativno obrće 0 i 1.

primjer: 0111 postaje 1000, tako da 7 postaje -7

Možete urediti ova pitanja i odgovore (dodati nove informacije, poboljšati prijevod, itd.) " itemscope="" itemtype="http://schema.org/Question">

Šta je komplement 2?

U informatici, komplement je pisanje broja koji negativno obrće 0 i 1 i dodaje 1.

primjer: 0111 postaje 1001

Postavite novo pitanje

Izvorni kod

dCode zadržava vlasništvo nad izvornim kodom skripte Binarni kod na mreži. Osim eksplicitne licence otvorenog koda (označeno Creative Commons / besplatno), bilo koji algoritam, aplet, isječak, softver (konverter, rješavač, enkripcija / dešifriranje, kodiranje / dekodiranje, šifriranje / dešifriranje, prevodilac) ili bilo koja funkcija (konvertiranje, rješavanje, dešifriranje) , šifriranje, dešifriranje, šifriranje, dekodiranje, kodiranje, prevođenje) napisano na bilo kojem informatičkom jeziku (PHP, Java, C#, Python, Javascript, Matlab, itd.) na koji dCode posjeduje prava neće biti besplatno pušteno u promet. Da preuzmete online skriptu binarnog koda za upotrebu van mreže na PC, iPhone ili Android, zatražite ponudu cijene na