Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Recenzije
  • Binarni sistemski kodovi. Značenje binarnog koda - zašto računari rade sa jedinicama i nulama

Binarni sistemski kodovi. Značenje binarnog koda - zašto računari rade sa jedinicama i nulama

Bit dubina binarnog koda, Konverzija informacija iz kontinuiranog u diskretni oblik, Univerzalnost binarnog kodiranja, Jedinstveni i neuniformni kodovi, Računarstvo 7. razred Bosova, Računarstvo 7. razred

1.5.1. Pretvaranje informacija iz kontinuiranog u diskretni oblik
Da bi riješio svoje probleme, osoba često mora transformirati postojeće informacije iz jednog oblika reprezentacije u drugi. Na primjer, kada čitate naglas, informacije se pretvaraju iz diskretnog (tekstualnog) oblika u kontinuirani (zvuk). Naprotiv, tokom diktata na času ruskog jezika, informacije se iz kontinuiranog oblika (glas nastavnika) pretvaraju u diskretni (napomene učenika).
Informacije predstavljene u diskretnom obliku mnogo je lakše prenijeti, pohraniti ili automatski obraditi. Stoga se u kompjuterskoj tehnologiji velika pažnja poklanja metodama za pretvaranje informacija iz kontinuiranog u diskretni oblik.
Diskretizacija informacija je proces pretvaranja informacija iz kontinuiranog oblika reprezentacije u diskretni.
Pogledajmo suštinu procesa uzorkovanja informacija koristeći primjer.
Meteorološke stanice imaju registratore za kontinuirano snimanje atmosferskog pritiska. Rezultat njihovog rada su barogrami - krive koje pokazuju kako se pritisak mijenjao tokom dužeg vremenskog perioda. Jedna od ovih krivulja, koju je uređaj nacrtao tokom sedam sati posmatranja, prikazana je na Sl. 1.9.

Na osnovu dobijenih informacija, možete napraviti tabelu koja sadrži očitavanja instrumenta na početku merenja i na kraju svakog sata posmatranja (slika 1.10).

Rezultirajuća tabela ne daje potpuno potpunu sliku o tome kako se pritisak mijenjao tokom perioda posmatranja: na primjer, najveća vrijednost tlaka koja se dogodila tokom četvrtog sata promatranja nije naznačena. Ali ako tabelarizirate vrijednosti tlaka koje se promatraju svakih pola sata ili 15 minuta, nova tablica će dati potpuniju sliku o tome kako se pritisak mijenjao.
Tako smo konvertovali informacije predstavljene u kontinuiranom obliku (barogram, kriva) u diskretni oblik (tablica) sa određenim gubitkom tačnosti.
U budućnosti ćete se upoznati s načinima diskretnog predstavljanja audio i grafičkih informacija.

Lanci od tri binarna simbola se dobijaju dopunjavanjem dvocifrenih binarnih kodova sa desne strane simbolom 0 ili 1. Kao rezultat, kombinacije kodova od tri binarna simbola su 8 - dvostruko više od onih od dva binarna simbola:
U skladu s tim, četverobitni binarni sistem vam omogućava da dobijete 16 kombinacija koda, pet-bitni - 32, šest-bitni - 64, itd. Dužina binarnog lanca - broj znakova u binarnom kodu - je naziva se dubina bita binarnog koda.
Zapiši to:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 itd.
Ovdje je broj kombinacija koda proizvod određenog broja identičnih faktora koji je jednak dubini bita binarnog koda.
Ako je broj kombinacija koda označen slovom N, a dubina bita binarnog koda slovom i, tada će identificirani uzorak u općem obliku biti napisan na sljedeći način:
N = 2 * 2 * ... * 2.
i faktori
U matematici se takvi proizvodi pišu kao:
N = 2 i.
Unos 2 i čita se kako slijedi: "2 na i-tu potenciju."

Zadatak. Vođa plemena Multi naložio je svom ministru da razvije binarni program i u njega prevede sve važne informacije. Koja će veličina binarnog zapisa biti potrebna ako abeceda koju koristi Multi pleme sadrži 16 znakova? Zapišite sve kombinacije kodova.
Rješenje. Kako se alfabet Multi tribe sastoji od 16 znakova, potrebno im je 16 kodnih kombinacija.U ovom slučaju, dužina (dubina bita) binarnog koda se određuje iz omjera: 16 = 2 i. Stoga je i = 4.
Da bismo zapisali sve kombinacije kodova od četiri 0 i 1, koristimo dijagram na Sl. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Svestranost binarnog kodiranja
Na početku ovog odjeljka naučili ste da se, predstavljeno u kontinuiranom obliku, može izraziti pomoću simbola na nekom prirodnom ili formalnom jeziku. Zauzvrat, znakovi proizvoljnog alfabeta mogu se pretvoriti u binarne. Dakle, korišćenjem binarnog koda, bilo koji prirodni i formalni jezici, kao i slike i zvukovi, mogu biti predstavljeni (slika 1.14). To znači univerzalnost binarnog kodiranja.
Binarni kodovi se široko koriste u kompjuterskoj tehnologiji i zahtijevaju samo dva stanja elektronskog kola - "uključeno" (ovo odgovara broju 1) i "isključeno" (ovo odgovara broju 0).
Jednostavnost tehničke implementacije je glavna prednost binarnog kodiranja. Nedostatak binarnog kodiranja je velika dužina rezultujućeg koda.

1.5.4. Jednoobrazni i neuniformisani kodovi
Postoje uniformni i neuniformisani kodovi. Uniformni kodovi u kodnim kombinacijama sadrže isti broj simbola, a neparni različiti broj.
Iznad smo pogledali uniformne binarne kodove.
Primjer neuniformnog koda je Morzeov kod, u kojem je niz kratkih i dugih signala definiran za svako slovo i broj. Dakle, slovo E odgovara kratkom signalu („tačka”), a slovo Š odgovara četiri duga signala (četiri „crtice”). Neravnomjerno vam omogućava da povećate brzinu prijenosa poruke zbog činjenice da simboli koji se najčešće pojavljuju u prenesenim informacijama imaju najkraće kombinacije kodova.

Informacija koju daje ovaj simbol jednaka je entropiji sistema i maksimalna je u slučaju kada su oba stanja podjednako vjerovatna; u ovom slučaju, elementarni simbol prenosi informaciju 1 (dvije jedinice). Stoga će osnova optimalnog kodiranja biti zahtjev da se elementarni znakovi u kodiranom tekstu pojavljuju u prosjeku podjednako često.

Predstavimo ovdje metodu za konstruiranje koda koji zadovoljava navedeni uvjet; Ova metoda je poznata kao Shannon-Fano kod. Njegova ideja je da se kodirani simboli (slova ili kombinacije slova) dijele u dvije približno jednako vjerojatne grupe: za prvu grupu simbola, 0 se stavlja na prvo mjesto kombinacije (prvi znak binarnog broja koji predstavlja simbol); za drugu grupu - 1. Zatim se svaka grupa ponovo deli na dve približno jednako verovatne podgrupe; za simbole prve podgrupe, nula se stavlja na drugo mesto; za drugu podgrupu - jedan itd.

Hajde da demonstriramo princip konstruisanja Shannon-Fano koda koristeći materijal ruskog alfabeta (tabela 18.8.1). Izbrojimo prvih šest slova (od “-” do “t”); zbrajajući njihove vjerovatnoće (frekvencije), dobijamo 0,498; sva ostala slova (od “n” do “sf”) će imati približno istu vjerovatnoću od 0,502. Prvih šest slova (od “-” do “t”) će imati binarnu 0 na prvom mjestu. Preostala slova (od “n” do “f”) će imati jednu na prvom mjestu. Zatim, ponovo dijelimo prvu grupu na dvije približno jednako vjerovatne podgrupe: od “-” do “o” i od “e” do “t”; za sva slova prve podgrupe na drugo mjesto stavljamo nulu,a druge podgrupe -jedan.Nastavljamo proces sve dok u svakoj podjeli ne ostane tačno jedno slovo koje će biti kodirano određenim binarnim brojem.Mehanizam za konstruisanje koda prikazan je u tabeli 18.8.2, a sam kod je dat u tabeli 18.8.3.

Tabela 18.8.2.

Binarni znakovi

Tabela 18.8.3

Koristeći tabelu 18.8.3, možete kodirati i dekodirati bilo koju poruku.

Kao primjer, napišimo izraz "teorija informacija" u binarnom kodu.

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Imajte na umu da nema potrebe odvajati slova jedno od drugog posebnim znakom, jer se dekodiranje izvodi nedvosmisleno i bez toga. Ovo možete provjeriti dekodiranjem sljedeće fraze koristeći Tablicu 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

(“metoda kodiranja”).

Međutim, treba napomenuti da je svaka greška kodiranja (slučajna zbrka 0 i 1 karaktera) s takvim kodom pogubna, jer dekodiranje cijelog teksta nakon greške postaje nemoguće. Stoga se ovaj princip kodiranja može preporučiti samo u slučajevima kada su greške u kodiranju i prenošenju poruke praktično eliminirane.

Postavlja se prirodno pitanje: da li je kod koji smo sastavili, u nedostatku grešaka, zaista optimalan? Da bismo odgovorili na ovo pitanje, hajde da pronađemo prosečnu informaciju po elementarnom simbolu (0 ili 1) i uporedimo je sa maksimalnom mogućom informacijom, koja je jednaka jednoj binarnoj jedinici. Da bismo to učinili, prvo pronađemo prosječnu informaciju sadržanu u jednom slovu poslanog teksta, tj. entropiju po slovu:

,

gdje je vjerovatnoća da će slovo zauzeti određeno stanje (“-”, o, e, a,..., f).

Sa stola 18.8.1 imamo

(dvije jedinice po slovu teksta).

Koristeći tabelu 18.8.2, određujemo prosječan broj elementarnih simbola po slovu

Podijeleći entropiju sa, dobijamo informaciju po elementarnom simbolu

(dvije jedinice).

Dakle, informacija po znaku je vrlo blizu svoje gornje granice od 1, a kod koji smo odabrali je vrlo blizu optimalnom. Ostajući u okvirima zadatka kodiranja slova, ne možemo postići ništa bolje.

Imajte na umu da u slučaju jednostavnog kodiranja binarnih brojeva slova, imali bismo sliku svakog slova sa pet binarnih znakova, a informacija za jedan znak bi bila

(dvije jedinice),

tj. primjetno manje nego kod optimalnog kodiranja slova.

Međutim, treba napomenuti da kodiranje “slovom” uopće nije ekonomično. Činjenica je da uvijek postoji ovisnost između susjednih slova bilo kojeg smislenog teksta. Na primjer, iza samoglasnika u ruskom jeziku ne može biti “ʺ” ili “ʹ”; “I” ili “yu” se ne mogu pojaviti nakon šištavih; nakon nekoliko suglasnika u nizu povećava se vjerovatnoća samoglasnika itd.

Znamo da kada se kombinuju zavisni sistemi, ukupna entropija je manja od zbira entropija pojedinačnih sistema; stoga je informacija koju prenosi dio povezanog teksta uvijek manja od informacije po znaku puta broja znakova. Uzimajući u obzir ovu okolnost, ekonomičniji kod se može konstruirati ako ne kodirate svako slovo pojedinačno, već cijele "blokove" slova. Na primjer, u ruskom tekstu ima smisla kodirati u potpunosti neke kombinacije slova koje se često pojavljuju, kao što su “tsya”, “ayet”, “nie” itd. u tabeli. 18.8.1, a binarno kodiranje se vrši po istom principu.

U nekim slučajevima, pokazalo se da je razumno kodirati čak ni blokove slova, već čitave smislene dijelove teksta. Na primjer, da biste rasteretili telegraf tokom praznika, preporučljivo je kodirati čitave standardne tekstove konvencionalnim brojevima, kao što su:

“Čestitam vam Novu godinu, želim vam dobro zdravlje i uspjeh u radu.”

Ne zadržavajući se posebno na metodama blokovnog kodiranja, ograničit ćemo se na formuliranje Shannonovog teorema koji se ovdje odnosi.

Neka postoji izvor informacija i prijemnik povezani komunikacijskim kanalom (slika 18.8.1).

Produktivnost izvora informacija je poznata, odnosno prosječan broj binarnih informacijskih jedinica koje dolaze iz izvora u jedinici vremena (numerički je jednaka prosječnoj entropiji poruke koju izvori proizvode po jedinici vremena). Uz to neka bude poznat i kapacitet kanala, odnosno maksimalna količina informacija (na primjer, binarni znakovi 0 ili 1) koju je kanal u stanju prenijeti u istoj jedinici vremena. Postavlja se pitanje: koliki bi trebao biti kapacitet kanala da bi se „snašao“ sa svojim zadatkom, odnosno da informacije od izvora do prijemnika stignu bez odlaganja?

Odgovor na ovo pitanje daje Šenonova prva teorema. Hajde da to formulišemo ovde bez dokaza.

Šenonova 1. teorema

Ako je kapacitet komunikacijskog kanala veći od entropije izvora informacija po jedinici vremena

tada je uvijek moguće kodirati dovoljno dugu poruku tako da se bez odlaganja prenosi putem komunikacijskog kanala. Ako, naprotiv,

tada je prijenos informacija bez odlaganja nemoguć.

Računari ne razumiju riječi i brojeve kao ljudi. Savremeni softver dozvoljava krajnjem korisniku da to ignoriše, ali na najnižim nivoima vaš računar radi na binarnom električnom signalu koji ima samo dve države: ima li struje ili ne. Da bi "razumeo" složene podatke, vaš računar ih mora kodirati u binarnom formatu.

Binarni sistem se zasniva na dve cifre, 1 i 0, koje odgovaraju uključenim i isključenim stanjima koja vaš računar može da razume. Verovatno ste upoznati sa decimalnim sistemom. Koristi deset cifara, od 0 do 9, a zatim prelazi na sljedeći red kako bi formirao dvocifrene brojeve, pri čemu je svaki broj deset puta veći od prethodnog. Binarni sistem je sličan, pri čemu je svaka cifra dvostruko veća od prethodne.

Brojanje u binarnom formatu

U binarnom izrazu, prva cifra je ekvivalentna 1 u decimalnom sistemu. Druga cifra je 2, treća je 4, četvrta je 8, i tako dalje - svaki put se udvostručuje. Dodavanjem svih ovih vrijednosti dobit ćete broj u decimalnom formatu.

1111 (binarno) = 8 + 4 + 2 + 1 = 15 (u decimalnom)

Računanje 0 nam daje 16 mogućih vrijednosti za četiri binarna bita. Pomerite 8 bita i dobićete 256 mogućih vrednosti. Ovo zauzima mnogo više prostora za predstavljanje jer nam četiri decimalne znamenke daju 10.000 mogućih vrijednosti. Naravno, binarni kod zauzima više prostora, ali računari razumiju binarne datoteke mnogo bolje od decimalnog sistema. A za neke stvari, poput logičke obrade, binarno je bolje od decimalnog.

Treba reći da postoji još jedan osnovni sistem koji se koristi u programiranju: heksadecimalni. Iako računari ne rade u heksadecimalnom formatu, programeri ga koriste za predstavljanje binarnih adresa u ljudskom čitljivom formatu kada pišu kod. To je zato što dvije cifre heksadecimalnog broja mogu predstavljati cijeli bajt, što znači da zamjenjuju osam cifara u binarnom obliku. Heksadecimalni sistem koristi brojeve 0-9, kao i slova od A do F, da stvori dodatnih šest cifara.

Zašto računari koriste binarne datoteke?

Kratak odgovor: hardver i zakoni fizike. Svaki znak u vašem računaru je električni signal, a u ranim danima računarstva, merenje električnih signala je bilo mnogo teže. Imalo je više smisla razlikovati samo "uključeno" stanje, predstavljeno negativnim nabojem, i "isključeno" stanje, predstavljeno pozitivnim nabojem.

Za one koji ne znaju zašto je "isključeno" predstavljeno pozitivnim nabojem, to je zato što elektroni imaju negativan naboj, a više elektrona znači više struje sa negativnim nabojem.

Stoga su se raniji računari veličine sobe koristili binarne datoteke da kreiraju svoje sisteme, i iako su koristili stariju, glomazniju opremu, radili su na istim osnovnim principima. Moderni računari koriste ono što se zove tranzistor za izvođenje proračuna sa binarnim kodom.

Evo dijagrama tipičnog tranzistora:

U suštini, omogućava struji da teče od izvora do odvoda ako postoji struja u kapiji. Ovo formira binarni ključ. Proizvođači mogu napraviti ove tranzistore nevjerovatno male - do 5 nanometara, ili veličine dva lanca DNK. Ovako rade moderni procesori, pa čak i oni mogu patiti od problema u razlikovanju stanja uključenog i isključenog (iako je to zbog njihove nerealne molekularne veličine koja je podložna čudnost kvantne mehanike).

Zašto samo binarni sistem

Možda mislite: „Zašto samo 0 i 1? Zašto ne dodati još jedan broj? Iako je to dijelom zbog tradicije stvaranja kompjutera, istovremeno bi dodavanje još jedne cifre značilo potrebu da se razlikuje drugo stanje struje, a ne samo „isključeno“ ili „uključeno“.

Problem je u tome što ako želite da koristite više nivoa napona, potreban vam je način da lako izvršite kalkulacije na njima, a trenutni hardver sposoban za to nije održiv kao zamena za binarne proračune. Na primjer, postoji tzv trostruki kompjuter, razvijena 1950-ih, ali je razvoj tu stao. Ternarna logika efikasniji od binarnog, ali još uvijek ne postoji efikasna zamjena za binarni tranzistor, ili barem ne postoji tranzistor na istoj maloj skali kao binarni.

Razlog zašto ne možemo koristiti ternarnu logiku svodi se na to kako su tranzistori povezani u kompjuteru i kako se koriste za matematičke proračune. Tranzistor prima informacije na dva ulaza, izvodi operaciju i vraća rezultat na jedan izlaz.

Dakle, binarna matematika je lakša za računar nego bilo šta drugo. Binarna logika se lako pretvara u binarne sisteme, pri čemu Tačno i Netačno odgovaraju stanju On i Off.

Binarna tablica istine koja radi na binarnoj logici imat će četiri moguća izlaza za svaku fundamentalnu operaciju. Ali, pošto trostruka kapija koriste tri ulaza, trostruka tabela istinitosti bi imala 9 ili više. Dok binarni sistem ima 16 mogućih operatora (2^2^2), ternarni sistem bi imao 19683 (3^3^3). Skaliranje postaje problem jer iako je trinity efikasniji, on je i eksponencijalno složeniji.

Ko zna? U budućnosti bismo mogli vidjeti ternarne računare kako se binarna logika suočava sa izazovima minijaturizacije. Za sada će svijet nastaviti da radi u binarnom modu.

Binarni kod predstavlja tekst, instrukcije kompjuterskog procesora ili druge podatke koristeći bilo koji sistem od dva znaka. Najčešće je to sistem od 0 i 1 koji svakom simbolu i instrukciji dodjeljuje obrazac binarnih cifara (bitova). Na primjer, binarni niz od osam bitova može predstavljati bilo koju od 256 mogućih vrijednosti i stoga može generirati mnogo različitih elemenata. Recenzije binarnog koda iz globalne profesionalne zajednice programera ukazuju da je to osnova struke i glavni zakon funkcionisanja računarskih sistema i elektronskih uređaja.

Dešifrovanje binarnog koda

U računarstvu i telekomunikacijama, binarni kodovi se koriste za različite metode kodiranja znakova podataka u nizove bitova. Ove metode mogu koristiti nizove fiksne ili promjenjive širine. Postoji mnogo skupova znakova i kodiranja za pretvaranje u binarni kod. U kodu fiksne širine, svako slovo, broj ili drugi znak je predstavljen nizom bitova iste dužine. Ovaj niz bitova, koji se tumači kao binarni broj, obično se prikazuje u tablicama koda u oktalnom, decimalnom ili heksadecimalnom zapisu.

Binarno dekodiranje: Bitni niz koji se tumači kao binarni broj može se konvertovati u decimalni broj. Na primjer, malo slovo a, ako je predstavljeno nizom bitova 01100001 (kao u standardnom ASCII kodu), također može biti predstavljeno kao decimalni broj 97. Pretvaranje binarnog koda u tekst je ista procedura, samo obrnuto.

Kako radi

Od čega se sastoji binarni kod? Kod koji se koristi u digitalnim računarima zasniva se na kojem postoje samo dva moguća stanja: uključeno. i isključeno, obično označeno sa nula i jedan. Dok je u decimalnom sistemu, koji koristi 10 cifara, svaka pozicija višekratnik 10 (100, 1000, itd.), u binarnom sistemu, svaka pozicija cifara je višekratnik 2 (4, 8, 16, itd.) . Signal binarnog koda je niz električnih impulsa koji predstavljaju brojeve, simbole i operacije koje treba izvršiti.

Uređaj koji se zove sat šalje regularne impulse, a komponente kao što su tranzistori se uključuju (1) ili isključuju (0) da prenose ili blokiraju impulse. U binarnom kodu, svaki decimalni broj (0-9) je predstavljen skupom od četiri binarne cifre ili bita. Četiri osnovne aritmetičke operacije (sabiranje, oduzimanje, množenje i deljenje) mogu se svesti na kombinacije osnovnih Bulovih algebarskih operacija nad binarnim brojevima.

Bit u teoriji komunikacija i informacija je jedinica podataka koja je ekvivalentna rezultatu izbora između dvije moguće alternative u binarnom brojevnom sistemu koji se obično koristi u digitalnim računarima.

Recenzije binarnog koda

Priroda koda i podataka je osnovni dio fundamentalnog svijeta IT-a. Ovaj alat koriste stručnjaci iz globalnog IT-a “iza scene” - programeri čija je specijalizacija skrivena od pažnje prosječnog korisnika. Recenzije binarnog koda od strane programera ukazuju na to da ova oblast zahtijeva duboko proučavanje matematičkih osnova i opsežnu praksu u oblasti matematičke analize i programiranja.

Binarni kod je najjednostavniji oblik kompjuterskog koda ili programskih podataka. U potpunosti je predstavljen binarnim sistemom cifara. Prema pregledima binarnog koda, on se često povezuje sa mašinskim kodom jer se binarni skupovi mogu kombinovati u izvorni kod koji se tumači računarom ili drugim hardverom. Ovo je djelimično tačno. koristi skupove binarnih cifara za formiranje instrukcija.

Zajedno sa najosnovnijim oblikom koda, binarni fajl predstavlja i najmanju količinu podataka koja protiče kroz sve složene, end-to-end hardverske i softverske sisteme koji obrađuju današnje resurse i sredstva podataka. Najmanja količina podataka naziva se bit. Trenutni nizovi bitova postaju kod ili podaci koje tumači računar.

Binarni broj

U matematici i digitalnoj elektronici, binarni broj je broj izražen u sistemu brojeva sa bazom 2, ili binarnom numeričkom sistemu, koji koristi samo dva znaka: 0 (nula) i 1 (jedan).

Brojni sistem sa bazom 2 je poziciona notacija sa radijusom 2. Svaka cifra se naziva bit. Zbog svoje jednostavne implementacije u digitalna elektronska kola koristeći logička pravila, binarni sistem koriste skoro svi savremeni računari i elektronski uređaji.

Priča

Savremeni binarni brojevni sistem kao osnovu za binarni kod izmislio je Gottfried Leibniz 1679. godine i predstavio ga u svom članku "Objašnjena binarna aritmetika". Binarni brojevi su bili centralni u Leibnizovoj teologiji. Vjerovao je da binarni brojevi simboliziraju kršćansku ideju kreativnosti ex nihilo, ili stvaranja ni iz čega. Lajbnic je pokušao da pronađe sistem koji bi transformisao verbalne logičke iskaze u čisto matematičke podatke.

Binarni sistemi koji su prethodili Leibnizu takođe su postojali u antičkom svetu. Primjer je kineski binarni sistem I Ching, gdje se tekst proricanja temelji na dualnosti yin i yang. U Aziji i Africi, bubnjevi sa prorezima sa binarnim tonovima korišćeni su za kodiranje poruka. Indijski učenjak Pingala (oko 5. vijeka prije nove ere) razvio je binarni sistem za opisivanje prozodije u svom djelu Chandashutrema.

Stanovnici ostrva Mangareva u Francuskoj Polineziji koristili su hibridni binarni decimalni sistem do 1450. godine. U 11. veku, naučnik i filozof Shao Yong razvio je metod organizovanja heksagrama koji odgovara nizu od 0 do 63, kako je predstavljeno u binarnom formatu, pri čemu je jin 0, a jang 1. Poredak je takođe leksikografski red u blokovi elemenata odabranih iz skupa od dva elementa.

Novo vrijeme

Godine 1605. raspravljalo se o sistemu u kojem se slova abecede mogu svesti na sekvence binarnih cifara, koje se potom mogu kodirati kao suptilne varijacije tipa u bilo kojem nasumičnom tekstu. Važno je napomenuti da je upravo Francis Bacon dopunio opću teoriju binarnog kodiranja uz zapažanje da se ova metoda može koristiti sa bilo kojim objektima.

Drugi matematičar i filozof po imenu George Boole objavio je rad 1847. godine pod nazivom "Matematička analiza logike", u kojem je opisao algebarski sistem logike poznat danas kao Bulova algebra. Sistem se zasnivao na binarnom pristupu, koji se sastojao od tri osnovne operacije: I, ILI i NE. Ovaj sistem nije postao operativan sve dok diplomirani student MIT-a po imenu Claude Shannon nije primijetio da je Bulova algebra koju je učio slična električnom kolu.

Shannon je 1937. napisala disertaciju koja je došla do važnih otkrića. Šenonova teza postala je polazna tačka za upotrebu binarnog koda u praktičnim aplikacijama kao što su računari i električna kola.

Drugi oblici binarnog koda

Bitstring nije jedina vrsta binarnog koda. Binarni sistem općenito je svaki sistem koji dozvoljava samo dvije opcije, kao što je prekidač u elektronskom sistemu ili jednostavan test istinitog ili lažnog.

Brajevo pismo je tip binarnog koda koji slijepi ljudi naširoko koriste za čitanje i pisanje dodirom, nazvan po svom tvorcu Louisu Brailleu. Ovaj sistem se sastoji od mreže od po šest tačaka, po tri po koloni, u kojima svaka tačka ima dva stanja: podignuta ili uvučena. Različite kombinacije tačaka mogu predstavljati sva slova, brojeve i znakove interpunkcije.

Američki standardni kod za razmjenu informacija (ASCII) koristi 7-bitni binarni kod za predstavljanje teksta i drugih znakova u računarima, komunikacijskoj opremi i drugim uređajima. Svakom slovu ili simbolu je dodijeljen broj od 0 do 127.

Binarno kodirani decimalni ili BCD je binarni kodirani prikaz cjelobrojnih vrijednosti koji koristi 4-bitni graf za kodiranje decimalnih znamenki. Četiri binarna bita mogu kodirati do 16 različitih vrijednosti.

U BCD-kodiranim brojevima, samo prvih deset vrijednosti u svakom grickanju je važeće i kodiraju decimalne znamenke nulama nakon devetki. Preostalih šest vrijednosti su nevažeće i mogu uzrokovati strojni izuzetak ili nespecificirano ponašanje, ovisno o implementaciji BCD aritmetike na računalu.

BCD aritmetika je ponekad preferirana u odnosu na formate brojeva s pomičnim zarezom u komercijalnim i finansijskim aplikacijama gdje je ponašanje složenog zaokruživanja nepoželjno.

Aplikacija

Većina modernih računara koristi program binarnog koda za instrukcije i podatke. CD-ovi, DVD-ovi i Blu-ray diskovi predstavljaju audio i video u binarnom obliku. Telefonski pozivi se prenose digitalno u međugradskim i mobilnim telefonskim mrežama koristeći pulsnu kodnu modulaciju i glasovnim putem IP mreža.

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.

08. 06.2018

Blog Dmitrija Vassijarova.

Binarni kod - gdje i kako se koristi?

Danas mi je posebno drago što sam vas upoznao, dragi moji čitaoci, jer se osjećam kao učiteljica koja već na prvom času počinje da upoznaje razred sa slovima i brojevima. A pošto živimo u svijetu digitalne tehnologije, reći ću vam šta je binarni kod, koji je njihova osnova.

Počnimo s terminologijom i saznajmo šta znači binarnost. Radi pojašnjenja, vratimo se na naš uobičajeni račun, koji se zove "decimalni". Odnosno, koristimo 10 cifara, koje omogućavaju praktično rukovanje različitim brojevima i vođenje odgovarajuće evidencije.

Slijedeći ovu logiku, binarni sistem omogućava korištenje samo dva znaka. U našem slučaju, to su samo “0” (nula) i “1” jedan. I ovdje želim da vas upozorim da bi hipotetički na njihovom mjestu mogli biti i drugi simboli, ali upravo ove vrijednosti, koje ukazuju na odsustvo (0, prazno) i prisustvo signala (1 ili „štapić“), će pomoći dalje razumijemo strukturu binarnog koda.

Zašto je potreban binarni kod?

Prije pojave kompjutera korišteni su različiti automatski sistemi čiji se princip rada zasnivao na prijemu signala. Senzor se aktivira, krug je zatvoren i određeni uređaj je uključen. Nema struje u signalnom krugu - nema rada. Upravo su elektronski uređaji omogućili postizanje napretka u obradi informacija predstavljenih prisustvom ili odsustvom napona u kolu.

Njihovo daljnje usložnjavanje dovelo je do pojave prvih procesora, koji su također radili svoj posao, obrađujući signal koji se sastoji od impulsa koji se naizmjenično smjenjuju na određeni način. Nećemo sada ulaziti u detalje programa, ali za nas je važno sljedeće: pokazalo se da elektronički uređaji mogu razlikovati zadani niz dolaznih signala. Naravno, uslovnu kombinaciju je moguće opisati na ovaj način: „postoji signal“; "nema signala"; “postoji signal”; "postoji signal." Možete čak i pojednostaviti notaciju: “postoji”; "Ne"; "Tu je"; "Tu je".

Ali mnogo je lakše prisustvo signala označiti jedinicom "1", a njegovo odsustvo nulom "0". Tada umjesto toga možemo koristiti jednostavan i sažet binarni kod: 1011.

Naravno, procesorska tehnologija je daleko napredovala i sada su čipovi u stanju da percipiraju ne samo niz signala, već čitave programe napisane posebnim komandama koje se sastoje od pojedinačnih znakova.

Ali za njihovo snimanje koristi se isti binarni kod, koji se sastoji od nula i jedinica, što odgovara prisutnosti ili odsustvu signala. Da li on postoji ili ne, nije bitno. Za čip, bilo koja od ovih opcija je jedna informacija, koja se naziva “bit” (bit je zvanična mjerna jedinica).

Konvencionalno, simbol se može kodirati kao niz od nekoliko znakova. Dva signala (ili njihovo odsustvo) mogu opisati samo četiri opcije: 00; 01;10; 11. Ova metoda kodiranja se naziva dvobitna. Ali može biti i:

  • Četvorobitni (kao u primjeru u gornjem paragrafu 1011) vam omogućava da zapišete 2^4 = 16 kombinacija simbola;
  • Osmobitni (na primjer: 0101 0011; 0111 0001). Jedno vrijeme je bio od najvećeg interesa za programiranje jer je pokrivao 2^8 = 256 vrijednosti. To je omogućilo opis svih decimalnih cifara, latinice i specijalnih znakova;
  • Šesnaest bita (1100 1001 0110 1010) i više. Ali zapisi s takvom dužinom već su za moderne, složenije zadatke. Moderni procesori koriste 32-bitnu i 64-bitnu arhitekturu;

Iskreno, ne postoji jedinstvena zvanična verzija, ali dogodilo se da je kombinacija od osam znakova postala standardna mjera pohranjenih informacija nazvana “bajt”. Ovo se može primijeniti čak i na jedno slovo napisano u 8-bitnom binarnom kodu. Dakle, dragi moji prijatelji, zapamtite (ako neko nije znao):

8 bita = 1 bajt.

To je tako. Iako se karakter napisan sa 2 ili 32-bitnom vrijednošću također nominalno može nazvati bajtom. Inače, zahvaljujući binarnom kodu možemo procijeniti obim fajlova izmjeren u bajtovima i brzinu prijenosa informacija i interneta (bitova u sekundi).

Binarno kodiranje u akciji

Za standardizaciju snimanja informacija za računare, razvijeno je nekoliko sistema kodiranja, od kojih je jedan, ASCII, zasnovan na 8-bitnom zapisu, postao široko rasprostranjen. Vrijednosti u njemu su raspoređene na poseban način:

  • prvi 31 znak su kontrolni znakovi (od 00000000 do 00011111). Služi za servisne komande, izlaz na štampač ili ekran, zvučne signale, formatiranje teksta;
  • sljedeće od 32 do 127 (00100000 – 01111111) latinično pismo i pomoćni simboli i znakovi interpunkcije;
  • ostalo, do 255. (10000000 – 11111111) – alternativa, dio tabele za posebne zadatke i ispisivanje nacionalnog pisma;

Dekodiranje vrijednosti ​​u njemu je prikazano u tabeli.

Ako mislite da su "0" i "1" locirani u haotičnom redoslijedu, onda ste duboko u zabludi. Koristeći bilo koji broj kao primjer, pokazat ću vam obrazac i naučiti vas kako čitati brojeve napisane u binarnom kodu. Ali za to ćemo prihvatiti neke konvencije:

  • Pročitaćemo bajt od 8 znakova s ​​desna na lijevo;
  • Ako u običnim brojevima koristimo cifre jedinice, desetice, stotine, onda su ovdje (čitajući obrnutim redoslijedom) za svaki bit predstavljene različite potencije "dvojke": 256-124-64-32-16-8- 4-2 -1;
  • Sada gledamo binarni kod broja, na primjer 00011011. Tamo gdje postoji signal "1" na odgovarajućoj poziciji, uzimamo vrijednosti ovog bita i zbrajamo ih na uobičajen način. Prema tome: 0+0+0+32+16+0+2+1 = 51. Ispravnost ove metode možete provjeriti gledajući tabelu kodova.

Sada, moji radoznali prijatelji, ne samo da znate šta je binarni kod, već znate i kako da konvertujete informacije koje su njime šifrovane.

Jezik razumljiv modernoj tehnologiji

Naravno, algoritam za čitanje binarnog koda procesorskim uređajima je mnogo složeniji. Ali možete ga koristiti da zapišete sve što želite:

  • Tekstualne informacije s opcijama oblikovanja;
  • Brojevi i sve operacije s njima;
  • Grafičke i video slike;
  • Zvukovi, uključujući one izvan našeg dometa;

Osim toga, zbog jednostavnosti „prezentacije“, mogući su različiti načini snimanja binarnih informacija:

  • Promjenom magnetnog polja za ;
  • Prednosti binarnog kodiranja upotpunjene su gotovo neograničenim mogućnostima za prijenos informacija na bilo koju udaljenost. Ovo je način komunikacije koji se koristi sa svemirskim letjelicama i umjetnim satelitima.

    Dakle, danas je binarni brojevni sistem jezik koji razumije većina elektronskih uređaja koje koristimo. I ono što je najzanimljivije je da za sada nije predviđena druga alternativa.

    Mislim da će vam informacije koje sam izneo biti sasvim dovoljne za početak. A onda, ako se pojavi takva potreba, svi će moći dublje ući u samostalnu studiju ove teme.

    Oprostiću se i nakon kratke pauze pripremiću vam novi članak na svom blogu na neku zanimljivu temu.

    Bolje je da mi sami kažete ;)

    Vidimo se uskoro.

    Najbolji članci na ovu temu