Šifriranje besed v binarni kodi. Kodiranje besedilnih informacij. Pretvarjanje števila binarnega sistema v decimalno


Aryabhata
cirilica
grški gruzijski
etiopski
judovsko
Akshara-sankhya drugo babilonski
egipčansko
etruščanski
Roman
Donava Podstrešje
Kipu
majevski
Egejsko morje
Simboli KPPU Pozicijski , , , , , , , , , , Negapozicijski Simetrično Mešani sistemi Fibonacci Nepozicijski Enota (unarna)

Dvojiški številski sistem- pozicijski številski sistem z osnovo 2. Zaradi neposredne implementacije v digitalna elektronska vezja z uporabo logičnih vrat se binarni sistem uporablja v skoraj vseh sodobnih računalnikih in drugih računalniških elektronskih napravah.

Dvojiški zapis števil

V binarnem številskem sistemu so števila zapisana z dvema simboloma ( 0 in 1 ). V izogib zmedi glede tega, v katerem številskem sistemu je številka zapisana, je opremljena z indikatorjem spodaj desno. Na primer število v decimalnem sistemu 5 10 , v dvojiški obliki 101 2 . Včasih je binarno število označeno s predpono 0b ali simbol & (&), Na primer 0b101 ali temu primerno &101 .

V binarnem številskem sistemu (tako kot v drugih številskih sistemih, razen v decimalnem) se števke berejo ena za drugo. Na primer, število 101 2 se izgovori kot "ena nič ena."

Cela števila

Naravno število, zapisano v dvojiškem številskem sistemu kot (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\pike a_(1)a_(0))_(2)), ima pomen:

(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)\pike a_(1)a_( 0))_(2)=\vsota _(k=0)^(n-1)a_(k)2^(k),)

Negativne številke

Negativna binarna števila označujemo na enak način kot decimalna števila: z znakom »−« pred številom. In sicer negativno celo število, zapisano v dvojiškem številskem sistemu (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\pike a_(1)a_(0))_(2)), ima vrednost:

(− 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)\pike a_(1)a_(0))_(2)=-\vsota _(k=0)^(n-1)a_( k)2^(k).)

dodatno kodo.

Ulomka števila

Ulomno število, zapisano v dvojiškem številskem sistemu kot (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)\pike a_(-(m-1))a_(-m))_(2)), ima vrednost:

(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)\pike a_(1)a_(0),a_(-1)a_(-2)\pike a_(-(m-1))a_(-m))_( 2)=\vsota _(k=-m)^(n-1)a_(k)2^(k),)

Seštevanje, odštevanje in množenje binarnih števil

Dodatna tabela

Primer seštevanja stolpcev (desetiški izraz 14 10 + 5 10 = 19 10 v dvojiški obliki izgleda kot 1110 2 + 101 2 = 10011 2):

Primer množenja stolpcev (desetiški izraz 14 10 * 5 10 = 70 10 v dvojiški obliki izgleda kot 1110 2 * 101 2 = 1000110 2):

Začenši s številko 1, se vsa števila pomnožijo z dvema. Pika, ki pride za 1, se imenuje binarna pika.

Pretvorba binarnih števil v decimalna

Recimo, da imamo binarno število 110001 2 . Če želite pretvoriti v decimalko, jo zapišite kot vsoto s ciframi, kot sledi:

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

Ista stvar malo drugače:

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

To lahko zapišete v obliki tabele takole:

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

Premakni se od desne proti levi. Pod vsako binarno enoto vpišite njen ekvivalent v spodnjo vrstico. Seštejte nastala decimalna števila. Tako je binarno število 110001 2 enakovredno decimalnemu številu 49 10.

Pretvarjanje ulomkov dvojiških števil v decimalna

Treba je pretvoriti številko 1011010,101 2 v decimalni sistem. Zapišimo to številko na naslednji 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če:

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

Ali po 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 po Hornerjevi metodi

Če želite s to metodo pretvoriti števila iz binarnih v decimalna, morate sešteti števila od leve proti desni in predhodno dobljeni rezultat pomnožiti z osnovo sistema (v tem primeru 2). Hornerjeva metoda se običajno uporablja za pretvorbo iz binarnega v decimalni sistem. Obratna operacija je težavna, saj zahteva veščine seštevanja in množenja v dvojiškem številskem sistemu.

Na primer binarno število 1011011 2 pretvorjen v decimalni sistem, kot sledi:

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 pomeni, da bo v decimalnem sistemu to število zapisano kot 91.

Pretvarjanje ulomkov števil po Hornerjevi metodi

Števke so vzete iz števila od desne proti levi in ​​deljene z osnovo številskega sistema (2).

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

Pretvorba decimalnih števil v binarna

Recimo, da moramo število 19 pretvoriti v dvojiško. Uporabite lahko naslednji postopek:

19/2 = 9 z ostankom 1
9/2 = 4 z ostankom 1
4/2 = 2 brez ostanka 0
2/2 = 1 brez ostanka 0
1/2 = 0 z ostankom 1

Vsak količnik torej delimo z 2 in ostanek zapišemo na konec dvojiškega zapisa. Nadaljujemo z deljenjem, dokler ni količnik 0. Rezultat zapišemo od desne proti levi. To pomeni, da bo spodnja številka (1) skrajna leva itd. Kot rezultat dobimo številko 19 v binarni notaciji: 10011 .

Pretvorba ulomkov decimalnih števil v dvojiška

Če ima prvotno število celo število, se pretvori ločeno od ulomka. Pretvarjanje delnega števila iz decimalnega številskega sistema v binarni sistem se izvede z naslednjim algoritmom:

  • Ulomek se pomnoži z osnovo dvojiškega številskega sistema (2);
  • V dobljenem produktu je izoliran celoštevilski del, ki se vzame kot najpomembnejša številka števila v binarnem številskem sistemu;
  • Algoritem se zaključi, če je ulomek dobljenega produkta enak nič ali če je dosežena zahtevana natančnost izračuna. V nasprotnem primeru se izračuni nadaljujejo na delnem delu produkta.

Primer: Pretvoriti morate decimalno število v ulomku 206,116 na delno binarno število.

Translacija celotnega dela daje 206 10 =11001110 2 po predhodno opisanih algoritmih. Ulomek 0,116 pomnožimo z osnovo 2, tako da cele dele zmnožka vpišemo na decimalna mesta želenega ulomka dvojiškega števila:

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.

Tako je 0,116 10 ≈ 0, 0001110110 2

Dobimo: 206.116 10 ≈ 11001110.0001110110 2

Aplikacije

V digitalnih napravah

Binarni sistem se uporablja v digitalnih napravah, ker je najpreprostejši in izpolnjuje zahteve:

  • Manj vrednosti kot je v sistemu, lažje je izdelati posamezne elemente, ki delujejo na teh vrednostih. Zlasti dve števki binarnega številskega sistema je mogoče enostavno predstaviti s številnimi fizikalnimi pojavi: obstaja tok (tok je večji od mejne vrednosti) - ni toka (tok je manjši od mejne vrednosti), ali je indukcija magnetnega polja večja od mejne vrednosti ali ne (indukcija magnetnega polja je manjša od mejne vrednosti) itd.
  • Manj stanj kot ima element, večja je odpornost proti hrupu in hitreje lahko deluje. Na primer, za kodiranje treh stanj z velikostjo napetosti, toka ali indukcije magnetnega polja boste morali uvesti dve mejni vrednosti in dva primerjalnika.

V računalništvu se pogosto uporablja pisanje negativnih binarnih števil v dvojnem komplementu. Število −5 10 bi lahko na primer zapisali kot −101 2, vendar bi bilo v 32-bitnem računalniku shranjeno kot 2.

V angleškem sistemu mer

Pri označevanju linearnih dimenzij v palcih se običajno uporabljajo dvojiški ulomki namesto decimalnih, na primer: 5¾″, 7 15/16″, 3 11/32″ itd.

Posploševanja

Dvojiški številski sistem je kombinacija binarnega kodirnega sistema in eksponentne utežne funkcije z osnovo, ki je enaka 2. Upoštevati je treba, da je število mogoče zapisati v dvojiški kodi in številski sistem morda ni binarni, ampak z drugačna podlaga. Primer: kodiranje BCD, pri katerem so decimalne števke zapisane dvojiško, številski sistem pa je decimalni.

Zgodba

  • Celoten sklop 8 trigramov in 64 heksagramov, analognih 3-bitnim in 6-bitnim številkam, je bil znan v starodavni Kitajski v klasičnih besedilih Knjige sprememb. Vrstni red heksagramov v knjiga sprememb, urejenih v skladu z vrednostmi ustreznih binarnih števk (od 0 do 63), metodo za njihovo pridobivanje pa je razvil kitajski znanstvenik in filozof Shao Yong v 11. stoletju. Vendar pa ni dokazov, ki bi kazali, da je Shao Yun razumel pravila binarne aritmetike in razporedil dvomestne tuple v leksikografskem vrstnem redu.
  • Skupine, ki so kombinacije binarnih števk, so Afričani uporabljali v tradicionalnem vedeževanju (kot je Ifa) skupaj s srednjeveško geomantijo.
  • Leta 1854 je angleški matematik George Boole objavil prelomni članek, v katerem je opisal algebraične sisteme, uporabljene v logiki, ki je danes znana kot Boolovska algebra ali algebra logike. Njegovemu logičnemu računu je bilo usojeno, da igra pomembno vlogo pri razvoju sodobnih digitalnih elektronskih vezij.
  • Leta 1937 je Claude Shannon predložil svojo doktorsko disertacijo za zagovor. Simbolična analiza relejnih in stikalnih vezij v katerem sta bili Boolova algebra in binarna aritmetika uporabljeni v zvezi z elektronskimi releji in stikali. Vsa sodobna digitalna tehnologija v bistvu temelji na Shannonovi disertaciji.
  • Novembra 1937 je George Stibitz, ki je kasneje delal v Bell Labs, ustvaril računalnik "Model K", ki temelji na relejih. K itchen", kuhinja, kjer je bila izvedena montaža), ki je izvajal binarno seštevanje. Konec leta 1938 je Bell Labs začel raziskovalni program, ki ga je vodil Stiebitz. Računalnik, ustvarjen pod njegovim vodstvom, dokončan 8. januarja 1940, je lahko izvajal operacije s kompleksnimi številkami. Med demonstracijo na konferenci American Mathematical Society na Dartmouth College 11. septembra 1940 je Stibitz demonstriral zmožnost pošiljanja ukazov oddaljenemu kompleksnemu številskemu kalkulatorju po telefonski liniji z uporabo teletipa. To je bil prvi poskus uporabe oddaljenega računalnika preko telefonske linije. Med udeleženci konference, ki so bili priča demonstraciji, so bili John von Neumann, John Mauchly in Norbert Wiener, ki so o tem kasneje pisali v svojih spominih.

Poglej tudi

Opombe

  1. Popova Olga Vladimirovna. Učbenik računalništva (nedoločeno) .

Binarna koda je oblika zapisovanja informacij v obliki enic in ničel. To je pozicijsko z osnovo 2. Danes se binarna koda (malo spodaj predstavljena tabela vsebuje nekaj primerov pisanja številk) uporablja v vseh digitalnih napravah brez izjeme. Njegova priljubljenost je razložena z visoko zanesljivostjo in preprostostjo te oblike snemanja. Binarna aritmetika je zelo preprosta, zato jo je enostavno implementirati na ravni strojne opreme. komponente (ali kot jih tudi imenujemo logične) so zelo zanesljive, saj delujejo le v dveh stanjih: logična ena (toka je) in logična ničla (ni toka). Tako se ugodno razlikujejo od analognih komponent, katerih delovanje temelji na prehodnih procesih.

Kako je sestavljen binarni zapis?

Ugotovimo, kako se oblikuje tak ključ. En bit binarne kode lahko vsebuje samo dve stanji: nič in ena (0 in 1). Pri uporabi dveh bitov je mogoče zapisati štiri vrednosti: 00, 01, 10, 11. Tribitni vnos vsebuje osem stanj: 000, 001 ... 110, 111. Posledično ugotovimo, da je dolžina binarna koda je odvisna od števila bitov. Ta izraz lahko zapišemo z naslednjo formulo: N =2m, kjer je: m število števk, N pa število kombinacij.

Vrste binarnih kod

V mikroprocesorjih se takšni ključi uporabljajo za zapis različnih obdelanih informacij. Širina binarne kode lahko znatno preseže njen vgrajeni pomnilnik. V takšnih primerih dolga števila zasedejo več lokacij za shranjevanje in se obdelujejo z več ukazi. V tem primeru se vsi pomnilniški sektorji, ki so dodeljeni za večbajtno binarno kodo, obravnavajo kot ena številka.

Glede na potrebo po posredovanju teh ali tistih informacij ločimo naslednje vrste ključev:

  • nepodpisan;
  • kode neposrednih celih znakov;
  • inverzi s predznakom;
  • dodatno podpišite;
  • siva koda;
  • Gray Express koda;
  • delne kode.

Oglejmo si vsakega od njih podrobneje.

Nepodpisana binarna koda

Ugotovimo, kaj je ta vrsta snemanja. V nepredznačenih celih kodah vsaka števka (binarna) predstavlja potenco dvojke. V tem primeru je najmanjše število, ki ga lahko zapišemo v tej obliki, nič, največje pa lahko predstavimo z naslednjo formulo: M = 2 n -1. Ti dve številki popolnoma definirata obseg ključa, ki se lahko uporabi za izražanje takšne binarne kode. Poglejmo si zmožnosti omenjene snemalne oblike. Pri uporabi te vrste nepodpisanega ključa, sestavljenega iz osmih bitov, bo obseg možnih števil od 0 do 255. Šestnajstbitna koda bo imela obseg od 0 do 65535. V osembitnih procesorjih se uporabljata dva pomnilniška sektorja za shranjevanje in pisanje takih številk, ki se nahajajo na sosednjih destinacijah. Posebni ukazi omogočajo delo s takšnimi ključi.

Neposredne cele številke s predznakom

V tej vrsti binarnega ključa se najpomembnejši bit uporablja za zapis predznaka števila. Nič ustreza plusu, ena pa minusu. Zaradi uvedbe te številke se obseg kodiranih številk premakne v negativno stran. Izkazalo se je, da lahko osembitni predpisani celoštevilski binarni ključ zapiše številke v območju od -127 do +127. Šestnajstbitni - v območju od -32767 do +32767. Osem-bitni mikroprocesorji uporabljajo dva sosednja sektorja za shranjevanje takih kod.

Pomanjkljivost te oblike zapisa je, da je treba znak in digitalne bite ključa obdelati ločeno. Algoritmi programov, ki delajo s temi kodami, so zelo zapleteni. Za spreminjanje in poudarjanje bitov znakov je treba uporabiti mehanizme za maskiranje tega simbola, kar prispeva k močnemu povečanju velikosti programske opreme in zmanjšanju njene zmogljivosti. Da bi odpravili to pomanjkljivost, je bila uvedena nova vrsta ključa - obratna binarna koda.

Podpisan reverzni ključ

Ta oblika zapisa se od neposrednih kod razlikuje le po tem, da se negativno število v njej pridobi z obračanjem vseh bitov ključa. V tem primeru sta digitalni in predznakovni bit enaka. Zahvaljujoč temu so algoritmi za delo s to vrsto kode bistveno poenostavljeni. Vendar pa obratni ključ zahteva poseben algoritem za prepoznavanje prve števke in izračun absolutne vrednosti števila. Kot tudi obnovitev predznaka dobljene vrednosti. Poleg tega se v povratnih in prednjih kodah številk uporabljata dva ključa za zapis ničle. Kljub temu, da ta vrednost nima pozitivnega ali negativnega predznaka.

Dvojiško število s komplementom dveh predznakov

Ta vrsta zapisa nima naštetih slabosti prejšnjih ključev. Takšne kode omogočajo neposredno seštevanje pozitivnih in negativnih števil. V tem primeru se analiza predznakovnega bita ne izvede. Vse to omogoča dejstvo, da so komplementarna števila naraven obroč simbolov, ne pa umetne tvorbe, kot sta tipki za naprej in nazaj. Poleg tega je pomemben dejavnik izredno enostavno izvesti izračune komplementa v binarnih kodah. Če želite to narediti, samo dodajte enega na vzvratni ključ. Pri uporabi te vrste znakovne kode, sestavljene iz osmih števk, bo razpon možnih številk od -128 do +127. Šestnajstbitni ključ bo imel razpon od -32768 do +32767. Osembitni procesorji uporabljajo tudi dva sosednja sektorja za shranjevanje takih številk.

Komplementna koda binarne dve je zanimiva zaradi svojega opaznega učinka, ki se imenuje pojav širjenja predznaka. Ugotovimo, kaj to pomeni. Ta učinek je, da je v procesu pretvorbe enobajtne vrednosti v dvobajtno dovolj, da se vrednosti predznakov nizkega bajta dodelijo vsakemu bitu visokega bajta. Izkazalo se je, da lahko uporabite najpomembnejše bite za shranjevanje podpisanega. V tem primeru se vrednost ključa sploh ne spremeni.

Siva koda

Ta oblika snemanja je v bistvu ključ v enem koraku. To pomeni, da se v procesu prehoda iz ene vrednosti v drugo spremeni le en bit informacije. V tem primeru napaka pri branju podatkov povzroči prehod iz enega položaja v drugega z rahlim časovnim zamikom. Vendar pa je pridobitev popolnoma napačnega rezultata kotnega položaja s takim postopkom popolnoma izključena. Prednost takšne kode je njena sposobnost zrcaljenja informacij. Na primer, z obračanjem najpomembnejših bitov lahko preprosto spremenite smer štetja. To se zgodi zaradi vnosa nadzora komplementa. V tem primeru se lahko izhodna vrednost povečuje ali zmanjšuje za eno fizično smer vrtenja osi. Ker so informacije, zapisane v sivem ključu, izključno kodirane narave, ki ne nosi realnih numeričnih podatkov, jih je pred nadaljnjim delom potrebno najprej pretvoriti v običajno binarno obliko zapisa. To se naredi s posebnim pretvornikom - dekoderjem Gray-Binar. To napravo je enostavno implementirati z uporabo osnovnih logičnih elementov v strojni in programski opremi.

Gray Express Code

Grayev standardni enostopenjski ključ je primeren za rešitve, ki so predstavljene kot številke, dve. V primerih, ko je treba izvesti druge rešitve, se iz te oblike zapisa izreže in uporabi le srednji del. Posledično je ohranjena enostopenjska narava ključa. Vendar v tej kodi začetek številskega obsega ni nič. Premakne se za določeno vrednost. Med obdelavo podatkov se od generiranih impulzov odšteje polovica razlike med začetno in zmanjšano ločljivostjo.

Predstavitev ulomkov v binarnem ključu s fiksno vejico

V procesu dela morate delovati ne le s celimi števili, ampak tudi z ulomki. Takšne številke je mogoče zapisati z uporabo neposrednih, obratnih in komplementarnih kod. Princip konstrukcije omenjenih ključev je enak kot pri celih številih. Do zdaj smo verjeli, da mora biti dvojiška vejica desno od najmanj pomembne števke. Ampak to ni res. Lahko se nahaja levo od najpomembnejše števke (v tem primeru lahko kot spremenljivko zapišemo le delna števila) in na sredini spremenljivke (lahko zapišemo mešane vrednosti).

Binarna predstavitev s plavajočo vejico

Ta oblika se uporablja za pisanje ali obratno - zelo majhna. Primeri vključujejo medzvezdne razdalje ali velikosti atomov in elektronov. Pri izračunu takih vrednosti bi morali uporabiti zelo veliko binarno kodo. Ni pa nam treba upoštevati vesoljskih razdalj z milimetrsko natančnostjo. Zato je zapis s fiksno vejico v tem primeru neučinkovit. Za prikaz takih kod se uporablja algebraična oblika. To pomeni, da je število zapisano kot mantisa, pomnožena z deset na potenco, ki odraža želeni vrstni red števila. Vedeti morate, da mantisa ne sme biti večja od ena, za decimalno vejico pa ničle.

Domneva se, da je binarni račun v začetku 18. stoletja izumil nemški matematik Gottfried Leibniz. Vendar, kot so nedavno odkrili znanstveniki, je bila ta vrsta aritmetike uporabljena že dolgo pred polinezijskim otokom Mangareva. Kljub dejstvu, da je kolonizacija skoraj popolnoma uničila prvotne številske sisteme, so znanstveniki obnovili zapletene binarne in decimalne vrste štetja. Poleg tega kognitivni znanstvenik Nunez trdi, da so binarno kodiranje uporabljali v starodavni Kitajski že v 9. stoletju pr. e. Tudi druge starodavne civilizacije, kot so Maji, so uporabljale kompleksne kombinacije decimalnih in binarnih sistemov za sledenje časovnim intervalom in astronomskim pojavom.

Posamezen digitalni signal ni zelo informativen, saj lahko sprejme le dve vrednosti: nič in ena. Zato se v primerih, ko je treba prenašati, obdelovati ali shranjevati velike količine informacij, običajno uporablja več vzporednih digitalnih signalov. Poleg tega je treba vse te signale obravnavati samo hkrati, vsak od njih posebej ni smiseln. V takih primerih govorimo o binarnih kodah, to je kodah, ki jih tvorijo digitalni (logični, binarni) signali. Vsak logični signal, vključen v kodo, se imenuje bit. Več bitov kot je vključenih v kodo, več vrednosti lahko sprejme ta koda.

Za razliko od desetiškega kodiranja števil, ki nam je znano, to je koda z osnovo deset, pri binarnem kodiranju je osnova kode številka dve (slika 2.9). To pomeni, da lahko vsaka kodna številka (vsaka številka) binarne kode ne sprejme deset vrednosti (kot v decimalni kodi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), ampak samo dva - 0 in 1. Pozicijski sistem zapisovanja ostaja enak, to je, da je najmanj pomembna številka zapisana na desni, najpomembnejša pa na levi. Če pa je v decimalnem sistemu teža vsake naslednje številke desetkrat večja od teže prejšnje, potem je v binarnem sistemu (z binarnim kodiranjem) dvakrat večja. Vsak bit binarne kode se imenuje bit (iz angleščine "Binary Digit" - "binarno število").

riž. 2.9. Decimalno in binarno kodiranje

V tabeli Slika 2.3 prikazuje ujemanje med prvimi dvajsetimi števili v decimalnem in dvojiškem sistemu.

Tabela kaže, da je zahtevano število binov binarne kode bistveno večje od zahtevanega števila bitov decimalne kode. Največje možno število s številom števk, ki je enako trem, je 999 v decimalnem sistemu in samo 7 v dvojiškem sistemu (to je 111 v binarni kodi). Na splošno lahko n-bitno binarno število zavzame 2n različnih vrednosti, n-bitno decimalno število pa lahko zavzame 10n različnih vrednosti. To pomeni, da pisanje velikih binarnih števil (z več kot desetimi števkami) ni zelo priročno.

Tabela 2.3. Ujemanje med števili v decimalnem in dvojiškem sistemu
Decimalni sistem Dvojiški sistem Decimalni sistem Dvojiški sistem

Da bi poenostavili zapisovanje binarnih števil, je bil predlagan tako imenovani heksadecimalni sistem (šestnajstiško kodiranje). V tem primeru so vsi binarni biti razdeljeni v skupine po štiri bite (začenši z najmanj pomembnim), nato pa je vsaka skupina kodirana z enim simbolom. Vsaka taka skupina se imenuje grizljanje(oz grizljanje, zvezek) in dve skupini (8 bitov) - bajt. Iz mize 2.3 kaže, da lahko 4-bitno binarno število sprejme 16 različnih vrednosti (od 0 do 15). Zato je tudi zahtevano število znakov za šestnajstiško kodo 16, od tod tudi ime kode. Prvih 10 znakov so številke od 0 do 9, nato pa se uporabi 6 začetnih velikih črk latinice: A, B, C, D, E, F.

riž. 2.10. Dvojiški in šestnajstiški zapis števil

V tabeli 2.4 prikazuje primere šestnajstiškega kodiranja prvih 20 števil (binarna števila so podana v oklepaju), sl. Na sliki 2.10 je prikazan primer zapisa binarnega števila v šestnajstiški obliki. Za označevanje šestnajstiškega kodiranja se včasih na koncu številke uporablja črka "h" ali "H" (iz angleščine Hexadecimal), na primer vnos A17F h označuje šestnajstiško število A17F. Tukaj A1 predstavlja visoki bajt števila, 7F pa nizki bajt števila. Pokliče se celotna številka (v našem primeru dvobajtna številka). v besedi.

Tabela 2.4. Šestnajstiški sistem kodiranja
Decimalni sistem šestnajstiški sistem Decimalni sistem šestnajstiški 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)

Če želite šestnajstiško število pretvoriti v decimalno, morate vrednost najnižje (nič) števke pomnožiti z ena, vrednost naslednje (prve) števke s 16, drugo števko z 256 (16 2) itd. , nato pa dodajte vse izdelke. Na primer, vzemite številko A17F:

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

Toda vsak specialist za digitalno opremo (razvijalec, operater, serviser, programer itd.) se mora naučiti ravnati s šestnajstiškimi in binarnimi sistemi tako svobodno kot z navadnimi decimalnimi sistemi, tako da niso potrebni prenosi iz sistema v sistem.

Poleg obravnavanih kod obstaja tudi tako imenovana binarno-decimalna predstavitev števil. Tako kot v šestnajstiški kodi tudi v kodi BCD vsaka številka kode ustreza štirim binarnim cifram, vendar lahko vsaka skupina štirih binarnih števk ne sprejme šestnajst, ampak samo deset vrednosti, kodiranih z znaki 0, 1, 2, 3, 4. , 5, 6, 7, 8, 9. To pomeni, da eno decimalno mesto ustreza štirim binarnim mestom. Posledično se izkaže, da se pisanje števil v binarno decimalno kodo ne razlikuje od pisanja v navadno decimalno kodo (tabela 2.6), v resnici pa gre le za posebno binarno kodo, katere vsaka številka ima lahko samo dve vrednosti: 0 in 1. Koda BCD je včasih zelo priročna za organiziranje decimalnih digitalnih indikatorjev in preglednic.

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

V binarni kodi lahko izvajate poljubne aritmetične operacije s števili: seštevanje, odštevanje, množenje, deljenje.

Razmislite, na primer, o seštevanju dveh 4-bitnih binarnih števil. Seštejmo število 0111 (decimalno 7) in 1011 (decimalno 11). Seštevanje teh števil ni nič težje kot v decimalnem zapisu:

Pri seštevanju 0 in 0 dobimo 0, pri seštevanju 1 in 0 dobimo 1, pri seštevanju 1 in 1 dobimo 0 in prenesemo na naslednjo števko 1. Rezultat je 10010 (decimalno 18). Seštevanje katerih koli dveh n-bitnih binarnih števil lahko povzroči n-bitno število ali (n+1)-bitno število.

Odštevanje poteka na enak način. Od števila 10010 (18) naj odštejemo število 0111 (7). Števila pišemo poravnana na najmanj pomembno števko in odštevamo na enak način kot pri decimalnem sistemu:

Pri odštevanju 0 od 0 dobimo 0, pri odštevanju 0 od 1 dobimo 1, pri odštevanju 1 od 1 dobimo 0, pri odštevanju 1 od 0 dobimo 1 in si sposodimo 1 v naslednji števki. Rezultat je 1011 (decimalno 11).

Pri odštevanju je mogoče dobiti negativna števila, zato morate uporabiti dvojiško predstavitev negativnih števil.

Za hkratno predstavitev binarnih pozitivnih in binarnih negativnih števil se najpogosteje uporablja tako imenovana koda komplementa dveh. Negativna števila v tej kodi so izražena s številom, ki bo, če ga dodamo pozitivnemu številu enake vrednosti, dalo nič. Da bi dobili negativno število, morate vse bite istega pozitivnega števila spremeniti v nasprotne (0 proti 1, 1 proti 0) in rezultatu dodati 1. Na primer, zapišite število –5. Število 5 v binarni kodi je videti kot 0101. Bite zamenjamo z nasprotnimi: 1010 in dodamo enega: 1011. Rezultat seštejemo z izvirnim številom: 1011 + 0101 = 0000 (zanemarjamo prenos na peto mesto) .

Negativna števila v kodi komplementa dvojke se od pozitivnih števil razlikujejo po vrednosti najpomembnejše števke: ena v najpomembnejši števki določa negativno število, ničla pa pozitivno število.

Poleg standardnih aritmetičnih operacij binarni številski sistem uporablja tudi nekatere posebne operacije, na primer seštevanje po modulu 2. Ta operacija (označena z A) je bitna, kar pomeni, da ni prenosov iz ene števke v drugo in ni izposojanja najvišje števke. Pravila za seštevanje modula 2 so naslednja: , , . Ista operacija se imenuje funkcija Ekskluzivni OR. Na primer, seštejmo modulo 2 dve binarni števili 0111 in 1011:

Druge bitne operacije na binarnih številih vključujejo funkcijo IN in funkcijo ALI. Rezultat funkcije IN je ena samo, če sta ustrezna bita obeh prvotnih števil oba ena, sicer je rezultat -0. Rezultat funkcije ALI je ena, ko je vsaj eden od ustreznih bitov izvirnih števil 1, sicer je rezultat 0.

Nabor znakov, s katerimi je zapisano besedilo, se imenuje abeceda.

Število znakov v abecedi je njegovo moč.

Formula za določanje količine informacij: N=2b,

kjer je N moč abecede (število znakov),

b – število bitov (informacijska teža simbola).

Abeceda s kapaciteto 256 znakov lahko sprejme skoraj vse potrebne znake. Ta abeceda se imenuje dovolj.

Ker 256 = 2 8, potem je teža 1 znaka 8 bitov.

Merska enota 8 bitov je dobila ime 1 bajt:

1 bajt = 8 bitov.

Binarna koda vsakega znaka v računalniškem besedilu zavzame 1 bajt pomnilnika.

Kako so besedilne informacije predstavljene v računalniškem pomnilniku?

Priročnost kodiranja znakov bajt za bajtom je očitna, ker je bajt najmanjši del pomnilnika, ki ga je mogoče nasloviti, in zato lahko procesor pri obdelavi besedila dostopa do vsakega znaka posebej. Po drugi strani pa je 256 znakov povsem zadostno število za prikaz najrazličnejših simbolnih informacij.

Zdaj se pojavi vprašanje, katero osembitno binarno kodo dodeliti posameznemu znaku.

Jasno je, da je to pogojna stvar, lahko si izmislite veliko metod kodiranja.

Vsi znaki računalniške abecede so oštevilčeni od 0 do 255. Vsaka številka ustreza osem-bitni binarni kodi od 00000000 do 11111111. Ta koda je preprosto serijska številka znaka v binarnem številskem sistemu.

Tabela, v kateri so vsem znakom računalniške abecede dodeljene serijske številke, se imenuje kodirna tabela.

Različne vrste računalnikov uporabljajo različne tabele kodiranja.

Tabela je postala mednarodni standard za osebne računalnike ASCII(beri aski) (Ameriška standardna koda za izmenjavo informacij).

Kodna tabela ASCII je razdeljena na dva dela.

Samo prva polovica tabele je mednarodni standard, tj. simboli s številkami iz 0 (00000000), do 127 (01111111).

Struktura tabele kodiranja ASCII

Serijska številka

Koda

Simbol

0 - 31

00000000 - 00011111

Simboli s številkami od 0 do 31 se običajno imenujejo kontrolni simboli.
Njihova funkcija je nadzor nad procesom prikaza besedila na zaslonu ali tiskanja, oddajanje zvočnega signala, označevanje besedila itd.

32 - 127

00100000 - 01111111

Standardni del tabele (angleščina). To vključuje male in velike črke latinske abecede, decimalne številke, ločila, vse vrste oklepajev, komercialne in druge simbole.
Znak 32 je presledek, tj. prazno mesto v besedilu.
Vsi drugi se odražajo z določenimi znaki.

128 - 255

10000000 - 11111111

Nadomestni del tabele (rusko).
Druga polovica kodne tabele ASCII, imenovana kodna stran (128 kod, od 10000000 do 11111111), ima lahko različne možnosti, vsaka možnost ima svojo številko.
Kodna stran se uporablja predvsem za prilagoditev nacionalnih abeced, razen latinice. V ruskem nacionalnem kodiranju so v tem delu tabele postavljeni znaki ruske abecede.

Prva polovica kodne tabele ASCII


Upoštevajte, da so v tabeli kodiranja črke (velike in male) razvrščene po abecednem vrstnem redu, številke pa v naraščajočem vrstnem redu. To upoštevanje leksikografskega reda v razporeditvi simbolov se imenuje načelo zaporednega kodiranja abecede.

Za črke ruske abecede se upošteva tudi načelo zaporednega kodiranja.

Druga polovica kodne tabele ASCII


Na žalost trenutno obstaja pet različnih kodiranj za cirilico (KOI8-R, Windows. MS-DOS, Macintosh in ISO). Zaradi tega se pogosto pojavijo težave pri prenosu ruskega besedila iz enega računalnika v drugega, iz enega programskega sistema v drugega.

Kronološko je bil eden prvih standardov za kodiranje ruskih črk v računalnikih KOI8 ("Information Exchange Code, 8-bit"). To kodiranje je bilo uporabljeno že v 70. letih prejšnjega stoletja na računalnikih računalniške serije ES, od sredine 80. let pa se je začelo uporabljati v prvih rusificiranih različicah operacijskega sistema UNIX.

Iz zgodnjih 90. let, časa prevlade operacijskega sistema MS DOS, ostaja kodiranje CP866 ("CP" pomeni "Code Page", "kodna stran").

Računalniki Apple z operacijskim sistemom Mac OS uporabljajo lastno kodiranje Mac.

Poleg tega je Mednarodna organizacija za standardizacijo (ISO) odobrila drugo kodiranje, imenovano ISO 8859-5, kot standard za ruski jezik.

Najpogostejše kodiranje, ki se trenutno uporablja, je Microsoft Windows, skrajšano CP1251.

Od poznih 90-ih je bil problem standardizacije kodiranja znakov rešen z uvedbo novega mednarodnega standarda, imenovanega Unicode. To je 16-bitno kodiranje, tj. vsakemu znaku dodeli 2 bajta pomnilnika. Seveda to poveča količino zasedenega pomnilnika za 2-krat. Toda takšna kodna tabela omogoča vključitev do 65536 znakov. Popolna specifikacija standarda Unicode vključuje vse obstoječe, izumrle in umetno ustvarjene abecede sveta ter številne matematične, glasbene, kemične in druge simbole.

Poskusimo si s tabelo ASCII predstavljati, kako bodo videti besede v pomnilniku računalnika.

Notranja predstavitev besed v pomnilniku računalnika

Včasih se zgodi, da besedila, sestavljenega iz črk ruske abecede, prejetega iz drugega računalnika, ni mogoče prebrati - na zaslonu monitorja je vidna nekakšna "abrakadabra". To se zgodi, ker računalniki uporabljajo različna kodiranja znakov za ruski jezik.

Orodje za binarne pretvorbe. Binarna koda je numerični sistem z osnovo 2, ki se uporablja v informatiki, simbola, ki se uporabljata v binarnem zapisu, sta običajno nič in ena (0 in 1).

Odgovori na vprašanja

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako pretvoriti število v binarno?

Pretvorba števila v dvojiško (z ničlami ​​in enicami) je sestavljena iz osnove 10 na osnovo 2 (naravna binarna koda)

primer: 5 (osnova 10) = 1*2^2+0*2^1+1*2^0 = 101 (osnova 2)

Metoda je sestavljena iz zaporednih delitev z 2 in beleženja ostanka (0 ali 1) v obratnem vrstnem redu.

primer: 6/2 = 3 ostane 0, potem 3/2 = 1 ostane 1, potem 1/2 = 0 ostane 1. Zaporedni ostanki so 0,1,1, tako da je 6 zapisano 110 v dvojiški obliki.

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako pretvoriti besedilo v binarno?

Vsaki črki abecede povežite številko, na primer z uporabo kode ali . To bo zamenjalo vsako črko s številko, ki jo je mogoče nato pretvoriti v dvojiško (glejte zgoraj).

primer: AZ je 65,90 (), torej 1000001,1011010 v dvojiški obliki

Podobno za prevajanje binarnega v besedilo pretvorite binarno v številko in nato to številko povežite s črko v želeni kodi.

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kako prevesti binarno

Binarno se ne prevaja neposredno, katero koli število je kodirano v dvojiški obliki ostaja številka. Po drugi strani pa je v računalništvu običajno uporabljati binarno za shranjevanje besedila, na primer z uporabo tabele, ki povezuje številko s črko. Prevajalnik je na voljo na dCode.

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kaj je malo?

Bit (kontrakcija binarne števke) je simbol v binarnem zapisu: 0 ali 1.

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kaj je komplement 1?

V informatiki je komplement ena zapis števila z negativnim obratom 0 in 1.

primer: 0111 postane 1000, torej 7 postane -7

Ta vprašanja in odgovore lahko uredite (dodate nove informacije, izboljšate prevod itd.) " itemscope="" itemtype="http://schema.org/Question">

Kaj je komplement 2?

V informatiki je en komplement pisanje števila z negativnim obračanjem 0 in 1 ter dodajanjem 1.

primer: 0111 postane 1001

Zastavi novo vprašanje

Izvorna koda

dCode obdrži lastništvo izvorne kode skripta Binary Code online. Razen eksplicitne odprtokodne licence (označeno Creative Commons / brezplačno), kateri koli algoritem, programček, izrezek, programska oprema (pretvornik, reševalec, šifriranje/dešifriranje, kodiranje/dekodiranje, šifriranje/dešifriranje, prevajalnik) ali katera koli funkcija (pretvorba, reševanje, dešifriranje) , šifriranje, dešifriranje, šifriranje, dekodiranje, kodiranje, prevajanje), napisano v katerem koli informacijskem jeziku (PHP, Java, C#, Python, Javascript, Matlab itd.), katerega pravice ima dCode, ne bo izdano brezplačno. Če želite prenesti spletni skript binarne kode za uporabo brez povezave v računalniku, iPhonu ali sistemu Android, prosite za ponudbo cene na