Šifriranje riječi u binarnom kodu. Kodiranje tekstualnih informacija. Pretvaranje broja binarnog sustava u decimalni


Aryabhata
ćirilica
grčki gruzijski
etiopski
židovska
Akshara-sankhya ostalo babilonski
Egipćanin
etrurski
rimski
Dunav Potkrovlje
Kipu
majanski
egejski
Simboli KPPU Pozicijski , , , , , , , , , , Nega-pozicijski Simetrično Mješoviti sustavi Fibonacci Nepozicijski Jedinica (unarna)

Binarni brojevni sustav- položajni brojevni sustav s bazom 2. Zahvaljujući izravnoj implementaciji u digitalne elektroničke sklopove pomoću logičkih vrata, binarni sustav se koristi u gotovo svim modernim računalima i drugim računalnim elektroničkim uređajima.

Binarni zapis brojeva

U binarnom brojevnom sustavu brojevi se zapisuju pomoću dva znaka ( 0 I 1 ). Kako bi se izbjegla zabuna u kojem je brojevnom sustavu broj napisan, dolje desno je opremljen indikatorom. Na primjer, broj u decimalnom sustavu 5 10 , u binarnom obliku 101 2 . Ponekad se binarni broj označava prefiksom 0b ili simbol & (&), Na primjer 0b101 odnosno prema tome &101 .

U binarnom brojevnom sustavu (kao i u drugim brojevnim sustavima osim decimalnog), znamenke se čitaju jedna po jedna. Na primjer, broj 101 2 izgovara se "jedan nula jedan".

Cijeli brojevi

Prirodni broj zapisan u binarnom brojevnom sustavu kao (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\točke 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)\točke a_(1)a_( 0))_(2)=\zbroj _(k=0)^(n-1)a_(k)2^(k),)

Negativni brojevi

Negativni binarni brojevi označavaju se na isti način kao i decimalni brojevi: znakom “–” ispred broja. Naime, negativan cijeli broj zapisan u binarnom brojevnom sustavu (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\točke 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)\točke a_(1)a_(0))_(2)=-\zbroj _(k=0)^(n-1)a_( k)2^(k).)

dodatni kod.

Razlomački brojevi

Razlomački broj zapisan u binarnom brojevnom sustavu 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)\točke a_(1)a_(0),a_(-1)a_(-2)\točke 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)\točke a_(1)a_(0),a_(-1)a_(-2)\točke a_(-(m-1))a_(-m))_( 2)=\zbroj _(k=-m)^(n-1)a_(k)2^(k),)

Zbrajanje, oduzimanje i množenje binarnih brojeva

Tablica zbrajanja

Primjer zbrajanja 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 se brojevi množe s dva. Točka koja dolazi nakon 1 naziva se binarna točka.

Pretvaranje binarnih brojeva u decimalne

Recimo da nam je dan binarni broj 110001 2 . Za pretvaranje u decimale, zapišite je kao zbroj znamenkama 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 drugacije:

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

To možete napisati u obliku tablice ovako:

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

Pomaknite se s desna na lijevo. Ispod svake binarne jedinice napišite njezin ekvivalent u donjem redu. Zbrojite dobivene decimalne brojeve. Dakle, binarni broj 110001 2 je ekvivalentan decimalnom broju 49 10.

Pretvaranje frakcijskih binarnih brojeva u decimalne

Potrebno je pretvoriti broj 1011010,101 2 decimalnom sustavu. 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 drugacije:

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

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 po Hornerovoj metodi

Da biste pomoću ove metode pretvorili brojeve iz binarnih u decimalne, potrebno je zbrojiti brojeve slijeva na desno, množeći prethodno dobiveni rezultat bazom sustava (u ovom slučaju 2). Hornerova metoda obično se koristi za pretvorbu iz binarnog u decimalni sustav. Obrnuta operacija je teška, jer zahtijeva vještine zbrajanja i množenja u binarnom brojevnom sustavu.

Na primjer, binarni broj 1011011 2 pretvoren u decimalni sustav na sljedeć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

To jest, u decimalnom sustavu ovaj će broj biti napisan kao 91.

Pretvaranje razlomačkog dijela brojeva Hornerovom metodom

Znamenke se uzimaju iz broja s desna na lijevo i dijele s bazom brojevnog sustava (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ći postupak:

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

Dakle, svaki kvocijent podijelimo s 2 i ostatak zapišemo na kraju binarnog zapisa. Dijeljenje nastavljamo dok kvocijent ne bude 0. Rezultat zapisujemo s desna na lijevo. To jest, donja znamenka (1) bit će krajnja lijeva, itd. Kao rezultat toga, dobivamo broj 19 u binarnom zapisu: 10011 .

Pretvaranje frakcijskih decimalnih brojeva u binarne

Ako izvorni broj ima cijeli dio, tada se pretvara odvojeno od razlomka. Pretvaranje frakcijskog broja iz decimalnog brojevnog sustava u binarni sustav provodi se pomoću sljedećeg algoritma:

  • Razlomak se množi s bazom binarnog brojevnog sustava (2);
  • U dobivenom umnošku izdvaja se cjelobrojni dio koji se uzima kao najznačajnija znamenka broja u binarnom brojevnom sustavu;
  • Algoritam završava ako je razlomački dio dobivenog umnoška jednak nuli ili ako je postignuta zahtijevana točnost izračuna. U suprotnom, izračuni se nastavljaju na frakcijskom dijelu proizvoda.

Primjer: trebate pretvoriti razlomački decimalni broj 206,116 na frakcijski binarni broj.

Translacija cijelog dijela daje 206 10 =11001110 2 prema prethodno opisanim algoritmima. Množimo razlomački dio od 0,116 s bazom 2, unoseći cjelobrojne dijelove umnoška u decimalna mjesta željenog razlomljenog 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.

Stoga je 0,116 10 ≈ 0, 0001110110 2

Dobivamo: 206.116 10 ≈ 11001110.0001110110 2

Prijave

U digitalnim uređajima

Binarni sustav koristi se u digitalnim uređajima jer je najjednostavniji i zadovoljava zahtjeve:

  • Što je manje vrijednosti u sustavu, to je lakše proizvesti pojedinačne elemente koji rade na tim vrijednostima. Konkretno, dvije znamenke binarnog brojevnog sustava 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), je li indukcija magnetskog polja veća od vrijednosti praga ili ne (indukcija magnetskog polja manja je od vrijednosti praga) itd.
  • Što manje stanja element ima, veća je otpornost na buku i brže može raditi. 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čunalstvu se naširoko koristi pisanje negativnih binarnih brojeva u komplementu dva. Na primjer, broj −5 10 mogao bi se napisati kao −101 2, ali bi bio pohranjen kao 2 na 32-bitnom računalu.

U engleskom sustavu mjera

Pri označavanju linearnih dimenzija u inčima, tradicionalno se koriste binarni razlomci umjesto decimalnih, na primjer: 5¾″, 7 15/16″, 3 11/32″ itd.

Generalizacije

Binarni brojevni sustav kombinacija je binarnog sustava kodiranja i eksponencijalne težinske funkcije s bazom jednakom 2. Treba napomenuti da se broj može napisati u binarnom kodu, a brojevni sustav ne mora biti binarni, već s različita baza. Primjer: BCD kodiranje, u kojem su decimalne znamenke zapisane u binarnom obliku, a brojevni sustav je decimalni.

Priča

  • Kompletan skup od 8 trigrama i 64 heksagrama, analogan 3-bitnim i 6-bitnim brojevima, bio je poznat u drevnoj Kini u klasičnim tekstovima Knjige promjena. Redoslijed heksagrama u knjiga promjena, raspoređenih u skladu s vrijednostima odgovarajućih binarnih znamenki (od 0 do 63), a metodu za njihovo dobivanje razvio je kineski znanstvenik i filozof Shao Yong u 11. stoljeću. Međutim, nema dokaza koji bi sugerirali da je Shao Yun razumio pravila binarne aritmetike, slažući dvoznakovne torke u leksikografskom redu.
  • Skupove, koji su kombinacije binarnih znamenki, koristili su Afrikanci u tradicionalnom proricanju (kao što je Ifa) zajedno sa srednjovjekovnom geomantijom.
  • Godine 1854. engleski matematičar George Boole objavio je značajan rad u kojem je opisao algebarske sustave primijenjene na logiku, što je danas poznato kao Booleova algebra ili algebra logike. Njegovom logičkom računu bilo je suđeno da odigra važnu ulogu u razvoju modernih digitalnih elektroničkih sklopova.
  • Godine 1937. Claude Shannon predao je svoju doktorsku disertaciju na obranu. Simbolička analiza relejnih i sklopnih sklopova u kojem su korištene Booleova algebra i binarna aritmetika u odnosu na elektroničke releje i sklopke. Sva moderna digitalna tehnologija u biti se temelji na Shannonovoj disertaciji.
  • U studenom 1937. George Stibitz, koji je kasnije radio u Bell Labsu, stvorio je računalo "Model K" temeljeno na relejima. K itchen", kuhinja u kojoj je izvršena montaža), koja je izvodila binarno zbrajanje. Krajem 1938. Bell Labs pokrenuo je istraživački program koji je vodio Stiebitz. Računalo stvoreno pod njegovim vodstvom, dovršeno 8. siječnja 1940., moglo je izvoditi operacije s kompleksnim brojevima. Tijekom demonstracije na konferenciji Američkog matematičkog društva na Dartmouth Collegeu 11. rujna 1940. Stibitz je demonstrirao sposobnost slanja naredbi udaljenom kalkulatoru složenih brojeva preko telefonske linije pomoću stroja za teletip. Ovo je bio prvi pokušaj korištenja udaljenog računala putem telefonske linije. Sudionici 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đer

Bilješke

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

Binarni kod je oblik bilježenja informacija u obliku jedinica i nula. Ovo je pozicijski s bazom 2. Danas se binarni kod (tablica prikazana malo niže sadrži neke primjere pisanja brojeva) koristi u svim digitalnim uređajima bez iznimke. Njegova popularnost objašnjava se visokom pouzdanošću i jednostavnošću ovog oblika snimanja. Binarna aritmetika je vrlo jednostavna, te ju je u skladu s tim lako implementirati na hardverskoj razini. komponente (ili, kako ih još nazivaju, logičke) su vrlo pouzdane, jer rade u samo dva stanja: logička jedinica (ima struje) i logička nula (nema struje). Stoga se povoljno uspoređuju s analognim komponentama, čiji se rad temelji na prijelaznim procesima.

Kako je sastavljen binarni zapis?

Hajde da shvatimo kako se formira takav ključ. Jedan bit binarnog koda može sadržavati samo dva stanja: nula i jedan (0 i 1). Kada koristite dva bita, moguće je zapisati četiri vrijednosti: 00, 01, 10, 11. Trobitni unos sadrži osam stanja: 000, 001 ... 110, 111. Kao rezultat toga, nalazimo da je duljina binarni kod ovisi o broju bitova. Ovaj izraz se može napisati pomoću sljedeće formule: N =2m, gdje je: m broj znamenki, a N je broj kombinacija.

Vrste binarnih kodova

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

Ovisno o potrebi pružanja ove ili one informacije, razlikuju se sljedeće vrste ključeva:

  • nepotpisan;
  • izravni kodovi cijelih znakova;
  • predpisani inverzi;
  • potpisati dodatno;
  • sivi kod;
  • Gray Express kod;
  • frakcijski kodovi.

Pogledajmo pobliže svaki od njih.

Nepredpisani binarni kod

Razmotrimo što je ova vrsta snimanja. U kodovima cijelih brojeva bez predznaka, svaka znamenka (binarna) predstavlja potenciju broja dva. U ovom slučaju, najmanji broj koji se može napisati u ovom obliku je nula, a maksimum se može prikazati 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 spomenutog obrasca za snimanje. Kada koristite ovu vrstu nepotpisanog ključa, koji se sastoji od osam bitova, raspon mogućih brojeva bit će od 0 do 255. Šesnaestobitni kod će imati raspon od 0 do 65535. U osam-bitnim procesorima koriste se dva memorijska sektora. za pohranjivanje i pisanje takvih brojeva koji se nalaze u susjednim odredištima. Posebne naredbe omogućuju rad s takvim tipkama.

Izravni cjelobrojni kodovi s predznakom

U ovoj vrsti binarnog ključa, bit najvećeg značaja koristi se za bilježenje predznaka broja. Nula odgovara plusu, a jedan minusu. Kao rezultat uvođenja ove znamenke, raspon kodiranih brojeva pomiče se u negativnu stranu. Ispada da osam-bitni binarni ključ cijelog broja s predznakom može pisati brojeve u rasponu od -127 do +127. Šesnaest-bitni - u rasponu od -32767 do +32767. Osmobitni mikroprocesori koriste dva susjedna sektora za pohranu takvih kodova.

Nedostatak ovog oblika snimanja je što se znakovni i digitalni bitovi ključa moraju odvojeno obrađivati. Pokazalo se da su algoritmi programa koji rade s tim kodovima vrlo složeni. Za promjenu i isticanje bitova znaka potrebno je koristiti mehanizme za maskiranje ovog simbola, što pridonosi naglom povećanju veličine softvera i smanjenju njegove izvedbe. Kako bi se otklonio ovaj nedostatak, uvedena je nova vrsta ključa - obrnuti binarni kod.

Potpisani reversni ključ

Ovaj oblik zapisa razlikuje se od izravnih kodova samo po tome što se negativni broj u njemu dobiva okretanjem svih bitova ključa. U ovom slučaju, digitalni i predznačni bitovi su identični. Zahvaljujući tome, algoritmi za rad s ovom vrstom koda značajno su pojednostavljeni. Međutim, obrnuti ključ zahtijeva poseban algoritam za prepoznavanje znaka prve znamenke i izračunavanje apsolutne vrijednosti broja. Kao i vraćanje predznaka rezultirajuće vrijednosti. Štoviše, u obrnutim i naprijed kodovima brojeva, dva ključa se koriste za pisanje nule. Unatoč tome što ova vrijednost nema pozitivan ili negativan predznak.

Predpisani binarni broj s komplementom dva

Ova vrsta zapisa nema navedene nedostatke prethodnih ključeva. Takvi kodovi omogućuju izravno zbrajanje pozitivnih i negativnih brojeva. U ovom slučaju se ne provodi 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 za naprijed i natrag. Štoviše, važan čimbenik je to što je izuzetno jednostavno izvesti izračune komplementa u binarnim kodovima. Da biste to učinili, samo dodajte jedan obrnutom ključu. Kada koristite ovu vrstu znakovnog koda, koji se sastoji od osam znamenki, raspon mogućih brojeva bit će od -128 do +127. Ključ od šesnaest bita imat će raspon od -32768 do +32767. Osmobitni procesori također koriste dva susjedna sektora za pohranu takvih brojeva.

Binarni komplementni kod dva zanimljiv je zbog svog vidljivog učinka, koji se naziva fenomen propagacije predznaka. Hajdemo shvatiti što ovo znači. Ovaj učinak je da je u procesu pretvaranja jednobajtne vrijednosti u dvobajtnu, dovoljno dodijeliti vrijednosti bitova znaka niskog bajta svakom bitu visokog bajta. Ispada da možete koristiti najvažnije bitove za pohranjivanje potpisanog. U tom se slučaju vrijednost ključa uopće ne mijenja.

Sivi kod

Ovaj oblik snimanja je u biti ključ u jednom koraku. Odnosno, u procesu prijelaza s jedne vrijednosti na drugu mijenja se samo jedan bit informacije. U ovom slučaju, pogreška u očitavanju podataka dovodi do prijelaza s jedne pozicije na drugu s malim vremenskim pomakom. Međutim, dobivanje potpuno netočnog rezultata kutnog položaja takvim postupkom potpuno je isključeno. Prednost takvog koda je njegova sposobnost zrcaljenja informacija. Na primjer, invertiranjem najvažnijih bitova, možete jednostavno promijeniti smjer brojanja. To se događa zahvaljujući ulazu kontrole komplementa. U tom slučaju izlazna vrijednost može biti ili rastuća ili opadajuća za jedan fizički smjer rotacije osi. Budući da su informacije zapisane u Gray ključu isključivo kodirane prirode, koja ne nosi prave numeričke podatke, prije daljnjeg rada potrebno ih je prvo pretvoriti u uobičajeni binarni oblik zapisa. To se radi pomoću posebnog pretvarača - Gray-Binar dekodera. Ovaj uređaj se lako implementira korištenjem elementarnih logičkih elemenata u hardveru i softveru.

Grey Express Code

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

Prikaz frakcijskog broja u binarnom ključu s fiksnom točkom

U procesu rada morate raditi ne samo s cijelim brojevima, već i s razlomcima. Takvi se brojevi mogu pisati izravnim, obrnutim i komplementarnim kodovima. Princip konstrukcije spomenutih ključeva je isti kao kod cijelih brojeva. Do sada smo vjerovali da bi binarni zarez trebao biti desno od najmanje značajne znamenke. Ali to nije istina. Može se nalaziti lijevo od najznačajnije znamenke (u ovom slučaju se kao varijabla mogu pisati samo razlomački brojevi) i u sredini varijable (mogu se pisati mješovite vrijednosti).

Binarno predstavljanje s pokretnim 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 bismo koristiti vrlo veliki binarni kod. Međutim, ne trebamo uzimati u obzir kozmičke udaljenosti s milimetarskom preciznošću. Stoga je oblik zapisa s fiksnom točkom u ovom slučaju neučinkovit. Za prikaz takvih kodova koristi se algebarski oblik. To jest, broj je napisan kao mantisa pomnožena s deset na potenciju koja odražava željeni redoslijed broja. Treba znati da mantisa ne smije biti veća od jedan, a iza decimalne točke ne smije se pisati nula.

Vjeruje se da je binarni račun početkom 18. stoljeća izumio njemački matematičar Gottfried Leibniz. Međutim, kako su znanstvenici nedavno otkrili, mnogo prije polinezijskog otoka Mangareva korištena je ova vrsta aritmetike. Unatoč činjenici da je kolonizacija gotovo potpuno uništila izvorne sustave brojeva, znanstvenici su obnovili složene binarne i decimalne vrste brojanja. Osim toga, kognitivni znanstvenik Nunez tvrdi da se binarno kodiranje koristilo u drevnoj Kini još u 9. stoljeću prije Krista. e. Druge drevne civilizacije, poput Maja, također su koristile složene kombinacije decimalnih i binarnih sustava za praćenje vremenskih intervala i astronomskih pojava.

Jedan digitalni signal nije jako informativan, jer može uzeti samo dvije vrijednosti: nula i jedan. Stoga se u slučajevima kada je potrebno prenijeti, obraditi ili pohraniti velike količine informacija obično koristi nekoliko paralelnih digitalnih signala. Štoviše, sve te signale treba promatrati 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, to više vrijednosti ovaj kod može uzeti.

Za razliku od nama poznatog decimalnog kodiranja brojeva, odnosno koda s bazom deset, kod binarnog kodiranja baza koda je broj dva (sl. 2.9). Odnosno, svaka kodna znamenka (svaka znamenka) binarnog koda ne može uzeti deset vrijednosti (kao u decimalnom kodu: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), već samo dva - 0 i 1. Položajni sustav snimanja ostaje isti, odnosno najmanja znamenka se upisuje s desne strane, a najznačajnija s lijeve strane. Ali ako je u decimalnom sustavu težina svake sljedeće znamenke deset puta veća od težine prethodne, tada je u binarnom sustavu (s binarnim kodiranjem) dvostruko veća. Svaki bit binarnog koda naziva se bit (od engleskog "Binary Digit" - "binarni broj").

Riža. 2.9. Decimalno i binarno kodiranje

U tablici Slika 2.3 prikazuje podudarnost između prvih dvadeset brojeva u decimalnom i binarnom sustavu.

Tablica pokazuje da je potreban broj binarnih kodnih bitova znatno veći od potrebnog broja decimalnih kodnih bitova. Najveći mogući broj s brojem znamenki jednakim tri je 999 u decimalnom sustavu, a samo 7 u binarnom sustavu (odnosno 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. To jest, pisanje velikih binarnih brojeva (s više od deset znamenki) postaje neprikladno.

Tablica 2.3. Podudarnost brojeva u decimalnom i binarnom sustavu
Dekadski sustav Binarni sustav Dekadski sustav Binarni sustav

Kako bi se pojednostavio zapis binarnih brojeva, predložen je tzv. heksadecimalni sustav (heksadecimalno kodiranje). U ovom slučaju, svi binarni bitovi su podijeljeni u grupe od četiri bita (počevši od najmanje značajnog), a zatim je svaka grupa kodirana jednim simbolom. Svaka takva grupa se zove grickati(ili grickati, bilježnica), 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). Stoga je potreban broj znakova za heksadecimalni kod 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 latinične abecede: A, B, C, D, E, F.

Riža. 2.10. Binarni i heksadecimalni zapis brojeva

U tablici 2.4 prikazuje primjere heksadecimalnog kodiranja prvih 20 brojeva (binarni brojevi dani su u zagradama), a sl. Slika 2.10 prikazuje primjer zapisivanja binarnog broja u heksadecimalnom obliku. Za označavanje heksadecimalnog kodiranja, slovo "h" ili "H" (od engleskog Hexadecimal) ponekad se 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). u jednoj riječi.

Tablica 2.4. Heksadecimalni kodni sustav
Dekadski sustav heksadecimalni sustav Dekadski sustav heksadecimalni sustav
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 pretvorili heksadecimalni broj u decimalni broj, trebate pomnožiti vrijednost najniže (nula) znamenke s jedan, vrijednost sljedeće (prve) znamenke s 16, druge znamenke s 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 naučiti rukovati heksadecimalnim i binarnim sustavima jednako slobodno kao i s običnim decimalnim sustavima, tako da nisu potrebni nikakvi prijenosi sa sustava na sustav.

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

Tablica 2.6. Binarni decimalni sustav kodiranja
Dekadski sustav Binarni decimalni sustav Dekadski sustav Binarni decimalni sustav
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 s brojevima: zbrajanje, oduzimanje, množenje, dijeljenje.

Razmotrimo, na primjer, zbrajanje dva 4-bitna binarna broja. Zbrojimo broj 0111 (decimalno 7) i 1011 (decimalno 11). Zbrajanje ovih brojeva nije ništa teže nego u decimalnom zapisu:

Zbrajanjem 0 i 0 dobivamo 0, zbrajanjem 1 i 0 dobivamo 1, zbrajanjem 1 i 1 dobivamo 0 i prenosimo na sljedeću znamenku 1. Rezultat je 10010 (decimalno 18). Zbrajanje 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 od broja 10010 (18) oduzme broj 0111 (7). Brojeve pišemo poredane na najmanju znamenku i oduzimamo na isti način kao u slučaju decimalnog sustava:

Pri oduzimanju 0 od 0 dobivamo 0, pri oduzimanju 0 od 1 dobivamo 1, pri oduzimanju 1 od 1 dobivamo 0, pri oduzimanju 1 od 0 dobivamo 1 i posuđujemo 1 u sljedećoj znamenki. Rezultat je 1011 (decimalno 11).

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

Za istovremeno predstavljanje i binarnih pozitivnih i binarnih negativnih brojeva, najčešće se koristi takozvani kod komplementa dvojke. Negativni brojevi u ovom kodu izraženi su brojem koji će, kada se doda pozitivnom broju iste vrijednosti, dati nulu. Da biste dobili negativan broj, potrebno je sve bitove istog pozitivnog broja zamijeniti suprotnim (0 u 1, 1 u 0) i rezultatu dodati 1. Na primjer, napišite broj –5. Broj 5 u binarnom kodu izgleda kao 0101. Bitove zamijenimo suprotnim: 1010 i dodamo jedan: 1011. Rezultat zbrojimo s izvornim brojem: 1011 + 0101 = 0000 (ignoriramo prijenos na petu znamenku) .

Negativni brojevi u kodu komplementa dvojke razlikuju se od pozitivnih brojeva po vrijednosti najznačajnije znamenke: jedinica u najznačajnijoj znamenki definira negativan broj, a nula definira pozitivan broj.

Osim standardnih aritmetičkih operacija, binarni brojevni sustav također koristi neke specifične operacije, na primjer, zbrajanje po modulu 2. Ova operacija (označena s A) je bitovna, to jest, nema prijenosa s jedne znamenke na drugu i nema posuđivanja u najviše znamenke. Pravila za zbrajanje modula 2 su sljedeća: , , . Ista se operacija naziva funkcija Isključivi OR. Na primjer, zbrojimo modulo 2 dva binarna broja 0111 i 1011:

Druge bitne operacije na binarnim brojevima uključuju funkciju AND i funkciju OR. Funkcija AND daje jedinicu samo ako su odgovarajući bitovi dva izvorna broja oba jedan, inače je rezultat -0. Funkcija OR daje jedinicu kada je barem jedan od odgovarajućih bitova izvornih brojeva 1, inače je rezultat 0.

Skup znakova kojima je napisan tekst naziva se abeceda.

Broj znakova u abecedi je njegov vlast.

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

gdje je N stepen abecede (broj znakova),

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

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

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

Mjerna jedinica 8 bita dobila je naziv 1 bajt:

1 bajt = 8 bita.

Binarni kod svakog znaka u tekstu računala zauzima 1 bajt memorije.

Kako su tekstualne informacije predstavljene u memoriji računala?

Pogodnost kodiranja znakova bajt po bajt je očita jer je bajt najmanji adresabilni dio memorije i, prema tome, procesor može pristupiti svakom znaku zasebno kada obrađuje tekst. S druge strane, 256 znakova sasvim je dovoljan broj za prikaz najrazličitijih simboličkih informacija.

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

Jasno je da je ovo uvjetna stvar, možete smisliti mnoge metode kodiranja.

Svi znakovi računalne abecede označeni su brojevima od 0 do 255. Svaki broj odgovara osmobitnom binarnom kodu od 00000000 do 11111111. Taj je kod jednostavno serijski broj znaka u binarnom brojevnom sustavu.

Tablica u kojoj su svi znakovi računalne abecede dodijeljeni serijski brojevi naziva se tablica kodiranja.

Različite vrste računala koriste različite tablice kodiranja.

Tablica je postala međunarodni standard za osobna računala ASCII(čitaj aski) (Američki standardni kod za razmjenu informacija).

Tablica ASCII kodova podijeljena je u dva dijela.

Samo prva polovica tablice je međunarodni standard, tj. simboli s brojevima iz 0 (00000000), do 127 (01111111).

Struktura tablice ASCII kodiranja

Serijski broj

Kodirati

Simbol

0 - 31

00000000 - 00011111

Simboli s brojevima od 0 do 31 obično se nazivaju kontrolnim simbolima.
Njihova je funkcija upravljanje procesom prikaza teksta na ekranu ili ispisa, oglašavanje zvučnog signala, označavanje teksta itd.

32 - 127

00100000 - 01111111

Standardni dio tablice (engleski). To uključuje mala i velika slova latinične abecede, decimalne brojeve, interpunkcijske znakove, sve vrste zagrada, reklamne i druge simbole.
Znak 32 je razmak, tj. prazno mjesto u tekstu.
Svi ostali odražavaju se određenim znakovima.

128 - 255

10000000 - 11111111

Alternativni dio tablice (ruski).
Druga polovica tablice ASCII kodova, nazvana kodna stranica (128 kodova, počevši od 10000000 i završavajući s 11111111), može imati različite opcije, svaka opcija ima svoj broj.
Kodna stranica prvenstveno se koristi za prilagodbu nacionalnih pisama osim latinice. U ruskim nacionalnim kodovima, znakovi ruske abecede smješteni su u ovaj dio tablice.

Prva polovica tablice ASCII kodova


Imajte na umu da su u tablici kodiranja slova (velika i mala) poredana abecednim redom, a brojevi rastućim redoslijedom. Ovo poštivanje leksikografskog reda u rasporedu simbola naziva se načelo sekvencijalnog kodiranja abecede.

Za slova ruske abecede također se poštuje princip sekvencijalnog kodiranja.

Druga polovica tablice ASCII kodova


Nažalost, trenutno postoji pet različitih kodiranja ćirilice (KOI8-R, Windows. MS-DOS, Macintosh i ISO). Zbog toga se često javljaju problemi s prijenosom ruskog teksta s jednog računala na drugo, s jednog softverskog sustava na drugi.

Kronološki, jedan od prvih standarda za kodiranje ruskih slova na računalima bio je KOI8 ("Information Exchange Code, 8-bit"). Ovo kodiranje korišteno je još 70-ih na računalima serije računala ES, a od sredine 80-ih počelo se koristiti u prvim rusificiranim verzijama operativnog sustava UNIX.

Iz ranih 90-ih, vremena dominacije MS DOS operativnog sustava, ostalo je kodiranje CP866 ("CP" znači "Code Page", "kodna stranica").

Apple računala s operativnim sustavom Mac OS koriste vlastito Mac kodiranje.

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

Najčešće 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. alocira 2 bajta memorije za svaki znak. Naravno, ovo povećava količinu zauzete memorije za 2 puta. Ali takva kodna tablica dopušta uključivanje do 65536 znakova. Kompletna specifikacija Unicode standarda uključuje sve postojeće, izumrle i umjetno stvorene abecede svijeta, kao i mnoge matematičke, glazbene, kemijske i druge simbole.

Pokušajmo pomoću ASCII tablice zamisliti kako će riječi izgledati u memoriji računala.

Interni prikaz riječi u memoriji računala

Ponekad se dogodi da se tekst koji se sastoji od slova ruske abecede primljen s drugog računala ne može pročitati - na zaslonu monitora vidljiva je neka vrsta "abrakadabre". To se događa jer računala koriste različita kodiranja znakova za ruski jezik.

Alat za binarne pretvorbe. Binarni kod je numerički sustav koji koristi bazu 2 koji se koristi u informatici, simboli koji se koriste u binarnom zapisu općenito su 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 binarni?

Pretvorba broja u binarni (s nulama i jedinicama) sastoji se od baze 10 do baze 2 (prirodni binarni kod)

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

Metoda se sastoji u uzastopnim dijeljenjima s 2 i bilježenju 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 je 6 zapisano 110 u binarnom obliku.

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?

Svakom slovu abecede pridružite 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 () dakle 1000001,1011010 u binarnom obliku

Slično za binarno prevođenje u tekst, pretvorite binarno u broj i 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 binarni

Binarno se ne prevodi izravno, bilo koji kodirani broj u binarnom obliku ostaje broj. S druge strane, u informatici je uobičajeno koristiti binarno za pohranu teksta, na primjer korištenjem tablice koja broj povezuje sa slovom. Prevoditelj je dostupan na dCode.

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

Što je malo?

Bit (kontrakcija binarne znamenke) je simbol u binarnom zapisu: 0 ili 1.

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

Što je komplement 1?

U informatici, nečiji komplement je zapisivanje broja negativno obrnutim 0 i 1.

Primjer: 0111 postaje 1000, pa 7 postaje -7

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

Što je komplement 2?

U informatici, jedan komplement je pisanje broja negativnim inverziranjem 0 i 1 i zbrajanjem 1.

Primjer: 0111 postaje 1001

Postavi 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, applet, isječak, softver (pretvornik, rješavač problema, šifriranje/dešifriranje, kodiranje/dekodiranje, šifriranje/dešifriranje, prevoditelj) ili bilo koja funkcija (pretvorba, 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.) za koje dCode posjeduje prava neće biti izdano besplatno. Za preuzimanje mrežne skripte binarnog koda za izvanmrežnu upotrebu na računalu, iPhoneu ili Androidu zatražite ponudu cijene na