Tere binaarselt. Binaarne kood

Arvutid ei mõista sõnu ja numbreid nii nagu inimesed. Kaasaegne tarkvara võimaldab lõppkasutajal seda eirata, kuid kõige madalamal tasemel töötab teie arvuti binaarsel elektrisignaalil, mis on ainult kaks osariiki: kas voolu on või mitte. Keeruliste andmete "mõistmiseks" peab teie arvuti need kodeerima binaarvormingus.

Binaarsüsteem põhineb kahel numbril 1 ja 0, mis vastavad sisse- ja väljalülitusolekutele, millest teie arvuti aru saab. Tõenäoliselt olete kümnendsüsteemiga tuttav. See kasutab kümmet numbrit vahemikus 0 kuni 9 ja liigub seejärel järgmise järjekorra juurde, et moodustada kahekohalised numbrid, kusjuures iga number on eelmisest kümme korda suurem. Kahendsüsteem on sarnane, iga number on kaks korda suurem kui eelmine.

Loendamine binaarvormingus

Binaaravaldises on esimene number kümnendsüsteemis võrdne 1-ga. Teine number on 2, kolmas on 4, neljas on 8 ja nii edasi – iga kord kahekordistades. Kõigi nende väärtuste lisamisel saate arvu kümnendkoha vormingus.

1111 (binaarne) = 8 + 4 + 2 + 1 = 15 (kümnendkohana)

0 arvestamine annab meile nelja binaarbiti jaoks 16 võimalikku väärtust. Liigutage 8 bitti ja saate 256 võimalikku väärtust. See võtab esitamiseks palju rohkem ruumi, kuna neli kümnendkohta annab meile 10 000 võimalikku väärtust. Muidugi võtab binaarkood rohkem ruumi, kuid arvutid mõistavad binaarfaile palju paremini kui kümnendsüsteem. Ja mõne asja, näiteks loogikatöötluse puhul on kahendkood parem kui kümnend.

Peab ütlema, et programmeerimisel on veel üks põhisüsteem: kuueteistkümnendsüsteemis. Kuigi arvutid ei tööta kuueteistkümnendvormingus, kasutavad programmeerijad seda koodi kirjutamisel binaaraadresside esitamiseks inimesele loetavas vormingus. Seda seetõttu, et kaks numbrit kuueteistkümnendsüsteemis võivad esindada tervet baiti, mis tähendab, et need asendavad kahendarvudes kaheksa numbrit. Kuueteistkümnendsüsteem kasutab kuue lisakoha loomiseks numbreid 0–9, samuti tähti A kuni F.

Miks arvutid kasutavad binaarfaile?

Lühike vastus: riistvara ja füüsikaseadused. Iga märk teie arvutis on elektriline signaal ja arvutitöö algusaegadel oli elektriliste signaalide mõõtmine palju keerulisem. Mõistlikum oli eristada ainult "sees" olekut, mida esindab negatiivne laeng, ja "väljas" olekut, mida esindab positiivne laeng.

Neile, kes ei tea, miks "väljas" tähistab positiivset laengut, on põhjuseks see, et elektronidel on negatiivne laeng ja rohkem elektrone tähendab negatiivse laenguga rohkem voolu.

Seega kasutati varakult toasuuruseid arvuteid binaarfailid oma süsteemide loomiseks ja kuigi nad kasutasid vanemaid mahukamaid seadmeid, töötasid nad samadel aluspõhimõtetel. Kaasaegsed arvutid kasutavad nn transistor binaarkoodiga arvutuste tegemiseks.

Siin on tüüpilise transistori diagramm:

Põhimõtteliselt võimaldab see voolul voolata allikast äravoolu, kui väravas on vool. See moodustab kahendvõtme. Tootjad võivad muuta need transistorid uskumatult väikeseks - kuni 5 nanomeetrini või kahe DNA ahela suuruseni. Nii töötavad kaasaegsed protsessorid ja isegi neil võib tekkida probleeme sisse- ja väljalülitatud olekute eristamisel (kuigi see on tingitud nende ebareaalsest molekuli suurusest kvantmehaanika veidrus).

Miks ainult binaarsüsteem

Nii et võite mõelda: "Miks ainult 0 ja 1? Miks mitte lisada veel üks number? Kuigi see on osaliselt tingitud arvutite loomise traditsioonidest, tähendaks teise numbri lisamine samas vajadust eristada voolu teist olekut, mitte ainult "väljas" või "sees".

Probleem seisneb selles, et kui soovite kasutada mitut pingetaset, on teil vaja võimalust nende põhjal hõlpsasti arvutusi teha ja praegune selleks võimeline riistvara ei ole binaararvutuste asendamiseks elujõuline. Näiteks on olemas nn kolmekordne arvuti, töötati välja 1950. aastatel, kuid areng peatus seal. Kolmekordne loogika tõhusam kui binaarne, kuid binaartransistorile ei ole veel tõhusat asendust või vähemalt pole ühtegi transistorit, mis oleks binaartransistoriga samal väikesel skaalal.

Põhjus, miks me ei saa kasutada kolmekomponentset loogikat, tuleneb sellest, kuidas transistorid arvutis on ühendatud ja kuidas neid kasutatakse matemaatilisteks arvutusteks. Transistor saab informatsiooni kahest sisendist, sooritab toimingu ja tagastab tulemuse ühte väljundisse.

Seega on binaarmatemaatika arvuti jaoks lihtsam kui miski muu. Binaarne loogika on kergesti teisendatav binaarsüsteemideks, kusjuures tõene ja väär vastavad sisse- ja väljalülitatud olekutele.

Binaarsel loogikal töötaval binaarsel tõetabelil on iga põhitoimingu jaoks neli võimalikku väljundit. Kuid kuna kolmekordsed väravad kasutavad kolme sisendit, oleks kolmekordse tõesuse tabelis 9 või rohkem. Kui kahendsüsteemis on 16 võimalikku operaatorit (2^2^2), siis kolmendsüsteemis oleks 19683 (3^3^3). Skaleerimine muutub probleemiks, sest kuigi kolmainsus on tõhusam, on see ka eksponentsiaalselt keerulisem.

Kes teab? Tulevikus võime näha kolmekomponentseid arvuteid, kuna binaarloogika seisab silmitsi miniaturiseerimisprobleemidega. Praegu jätkab maailm binaarrežiimis töötamist.

See õppetund käsitleb teemat „Teabe kodeerimine. Binaarne kodeerimine. Teabe mõõtühikud." Selle käigus saavad kasutajad aru info kodeerimisest, kuidas arvutid infot tajuvad, mõõtühikuid ja binaarset kodeerimist.

Teema:Teave meie ümber

Õppetund: teabe kodeerimine. Binaarne kodeerimine. Teabeühikud

See õppetund hõlmab järgmisi küsimusi:

1. Kodeerimine kui teabe esitamise vormi muutmine.

2. Kuidas arvuti informatsiooni ära tunneb?

3. Kuidas mõõta informatsiooni?

4. Teabe mõõtühikud.

Koodide maailmas

Miks inimesed teavet kodeerivad?

1. Peida see teiste eest (Leonardo da Vinci peegelkrüptograafia, sõjaline krüpteerimine).

2. Pane info lühidalt kirja (lühikiri, lühend, liiklusmärgid).

3. Lihtsamaks töötlemiseks ja edastamiseks (morsekood, tõlkimine elektrilisteks signaalideks – masinkoodid).

Kodeerimine on teabe esitamine mõne koodi abil.

Kood on sümbolite süsteem teabe esitamiseks.

Teabe kodeerimise meetodid

1. Graafika (vt joon. 1) (kasutades jooniseid ja märke).

Riis. 1. Signaali lipusüsteem (allikas)

2. Numbriline (kasutades numbreid).

Näiteks: 11001111 11100101.

3. Sümboolne (kasutades tähestiku sümboleid).

Näiteks: NKMBM CHGYOU.

Dekodeerimine on toiming teabe esitusviisi esialgse vormi taastamiseks. Dekodeerimiseks peate teadma koodi ja kodeerimisreegleid.

Kodeerimise ja dekodeerimise vahend on koodi vastavustabel. Näiteks on vastavus erinevates numbrisüsteemides 24 - XXIV, tähestiku vastavus mis tahes sümbolitele (joonis 2).


Riis. 2. Šifreerimise näide (allikas)

Teabe kodeerimise näited

Teabe kodeerimise näide on morsekood (vt joonis 3).

Riis. 3. Morsekood ()

Morsekood kasutab ainult 2 sümbolit - täpp ja kriips (lühike ja pikk heli).

Teine näide teabe kodeerimisest on liputähestik (vt joonis 4).

Riis. 4. Lipu tähestik ()

Teine näide on lippude tähestik (vt joonis 5).

Riis. 5. Lippude ABC ()

Tuntud näide kodeerimisest on muusikaline tähestik (vt joonis 6).

Riis. 6. Muusikaline tähestik ()

Kaaluge järgmist probleemi:

Kasutades lipu tähestiku tabelit (vt joonis 7), on vaja lahendada järgmine probleem:

Riis. 7

Vanemtüürimees Lom sooritab eksami kapten Vrungelile. Aidake tal lugeda järgmist teksti (vt joonis 8):

Meie ümber on peamiselt kaks signaali, näiteks:

Valgusfoor: punane - roheline;

Küsimus: jah - ei;

Lamp: sisse - väljas;

See on võimalik – pole võimalik;

Hea halb;

Tõde on vale;

Edasi-tagasi;

Jah ei;

Kõik need on signaalid, mis näitavad teabe hulka 1 bitis.

1 bitt - see on teabe hulk, mis võimaldab meil valida kahe võimaliku variandi hulgast ühe.

Arvuti on elektrimasin, mis töötab elektroonilistel ahelatel. Selleks, et arvuti sisendinfot ära tunneks ja sellest aru saaks, tuleb see tõlkida arvuti (masina) keelde.

Esinejale mõeldud algoritm peab olema kirjutatud ehk kodeeritud arvutile arusaadavas keeles.

Need on elektrilised signaalid: vool läbib või vool ei läbi.

Masina binaarkeel – jada "0" ja "1". Iga kahendarvu väärtus võib olla 0 või 1.

Masina kahendkoodi iga number kannab teavet, mis on võrdne 1 bitiga.

Nimetatakse kahendarvu, mis esindab väikseimat teabeühikut b seda . Biti väärtus võib olla kas 0 või 1. Magnetilise või elektroonilise signaali olemasolu arvutis tähendab 1, 0 puudumine.

Kutsutakse 8-bitist stringi b IT . Arvuti töötleb seda stringi eraldi märgina (number, täht).

Vaatame näidet. Sõna ALICE koosneb 5 tähest, millest igaüks on arvutikeeles esindatud ühe baidiga (vt joonis 10). Seetõttu saab Alice'i mõõta 5 baiti.

Riis. 10. Binaarkood (allikas)

Lisaks bittidele ja baitidele on ka teisi teabeühikuid.

Bibliograafia

1. Bosova L.L. Arvutiteadus ja IKT: õpik 5. klassile. - M.: BINOM. Teadmiste labor, 2012.

2. Bosova L.L. Arvutiteadus: Töövihik 5. klassile. - M.: BINOM. Teadmiste labor, 2010.

3. Bosova L.L., Bosova A.Yu. Arvutiõpetuse tunnid 5.-6.klassis: Metoodiline käsiraamat. - M.: BINOM. Teadmiste labor, 2010.

2. Festival "Avatud õppetund" ().

Kodutöö

1. §1.6, 1.7 (Bosova L.L. Informaatika ja IKT: Õpik 5. klassile).

2. Leht 28, ülesanded 1, 4; lk 30, ülesanded 1, 4, 5, 6 (Bosova L.L. Informaatika ja IKT: Õpik 5. klassile).

Mõiste "binaarne" tähendus seisneb selles, et see koosneb kahest osast või komponendist. Seega on kahendkoodid koodid, mis koosnevad ainult kahest sümboolsest olekust, nagu must või valge, hele või tume, juht või isolaator. Binaarkood on digitaaltehnoloogias viis andmete (numbrite, sõnade ja muu) esitamiseks kahe märgi kombinatsioonina, mida saab tähistada kui 0 ja 1. BC märke või ühikuid nimetatakse bittideks. Üks BC kasutamise õigustus on teabe salvestamise lihtsus ja usaldusväärsus mis tahes meediumis ainult kahe selle füüsikalise oleku kombinatsioonina, näiteks valgusvoo muutumise või püsivuse kujul, kui lugemine optilise koodi kettalt.
Teabe kodeerimiseks on erinevaid võimalusi.

Binaarne kood

Digitaaltehnoloogias on meetod andmete (numbrite, sõnade ja muu) esitamiseks kahe märgi kombinatsioonina, mida saab tähistada kui 0 ja 1. Alalisvoolu märke või ühikuid nimetatakse bittideks.

Üks alalisvoolu kasutamise õigustusi on teabe salvestamise lihtsus ja usaldusväärsus mis tahes andmekandjale ainult kahe selle füüsikalise oleku kombinatsioonina, näiteks magnetvoo muutumise või püsivuse kujul. magnetilise salvestusmeediumi antud rakk.

Suurim kahendarvuna väljendatav arv sõltub kasutatud numbrite arvust, s.t. arvu väljendava kombinatsiooni bittide arvu kohta. Näiteks arvväärtuste 0 kuni 7 väljendamiseks piisab 3-kohalisest või 3-bitisest koodist:

numbriline väärtus binaarne kood
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Sellest näeme, et 3-kohalise koodiga numbri puhul, mis on suurem kui 7, ei ole enam koodikombinatsioone 0 ja 1.

Liikudes arvudelt füüsikaliste suuruste juurde, sõnastagem ülaltoodud väide üldisemal kujul: mis tahes suuruse (temperatuur, pinge, vool jne) suurim arv väärtusi m, mida saab väljendada kahendkoodis kasutatud bittide arvul n kui m= 2n. Kui n = 3, nagu vaadeldavas näites, saame 8 väärtust, sealhulgas 0.
Binaarkood on mitmeastmeline kood. See tähendab, et ühest positsioonist (väärtusest) teise liikudes võib samaaegselt muutuda mitu bitti. Näiteks arv 3 kahendkoodis = 011. Arv 4 kahendkoodis = 100. Vastavalt sellele, liikudes 3-lt 4-le, muudavad kõik 3 bitti oma olekut samaaegselt vastupidiseks. Sellise koodi koodikettalt lugemine tooks kaasa asjaolu, et koodiketta valmistamisel tekkivate vältimatute kõrvalekallete (tolerantside) tõttu ei toimu kunagi üheaegselt teabe muutumist igalt rajalt eraldi. See omakorda tooks kaasa selle, et ühelt numbrilt teisele liikudes antakse põgusalt vale info. Seega on ülalmainitud üleminekul numbrilt 3 numbrile 4 väga tõenäoline numbri 7 lühiajaline väljund, kui näiteks ülemineku ajal kõige olulisem bitt muutis oma väärtust veidi varem kui ülejäänud . Selle vältimiseks kasutatakse nn üheastmelist koodi, näiteks nn halli koodi.

Hall kood

Hall kood on nn üheastmeline kood, st. Ühelt numbrilt teisele liikudes muutub alati ainult üks infobittidest. Viga mehaaniliselt koodikettalt teabe lugemisel ühelt numbrilt teisele liikumisel viib ainult selleni, et üleminek ühest positsioonist teise nihkub ajas vaid veidi, kuid täiesti vale nurga asukoha väärtuse väljastamine, kui ühest asendist teise liikumine on täielikult välistatud .
Gray Code'i teine ​​eelis on selle võime teavet peegeldada. Seega saate kõige olulisema biti ümberpööramisel lihtsalt loendussuunda muuta ja seega sobitada telje tegeliku (füüsilise) pöörlemissuunaga. Sel viisil loendamissuuna muutmist saab hõlpsasti muuta nn komplementi sisendi juhtimisega. Väljundväärtus võib seega telje sama füüsilise pöörlemissuuna korral suureneda või väheneda.
Kuna Grey Code'is väljendatud teave on oma olemuselt puhtalt kodeeritud ega sisalda tegelikku numbrilist teavet, tuleb see enne edasist töötlemist teisendada standardseks kahendkoodiks. Selleks kasutatakse koodimuundurit (Gray-Binar dekooder), mida on õnneks lihtne rakendada eksklusiivsete või (XOR) loogiliste elementide ahela abil nii tarkvaras kui ka riistvaras.

Vastavad kümnendarvud vahemikus 0 kuni 15 kuni kahend- ja hallkoodideni

Binaarne kodeerimine Hall kodeering
Kümnendkood
Binaarne väärtus Kuusteist tähenduses Kümnendkood Binaarne väärtus Kuusteist tähenduses
0 0000 0 h 0 0000 0 h
1 0001 1 h 1 0001 1 h
2 0010 2h 3 0011 3h
3 0011 3h 2 0010 2h
4 0100 4h 6 0110 6h
5 0101 5h 7 0111 7h
6 0110 6h 5 0101 5h
7 0111 7h 4 0100 4h
8 1000 8h 12 1100 Ch
9 1001 9h 13 1101 Dh
10 1010 Ah 15 1111 Fh
11 1011 Bh 14 1110 Eh
12 1100 Ch 10 1010 Ah
13 1101 Dh 11 1011 Bh
14 1110 Eh 9 1001 9h
15 1111 Fh 8 1000 8h

Gray koodi teisendamiseks tavaliseks binaarkoodiks saab kasutada lihtsat vooluringi inverterite ja eksklusiivsete või väravatega, nagu allpool näidatud:

Kood Grey-Excess

Tavaline üheastmeline Grey kood sobib resolutsioonidele, mida saab esitada arvuna tõstetud astmeni 2. Juhtudel, kui on vaja rakendada muid õigusi, lõigatakse keskmine osa tavalisest Grey koodist välja ja kasutatakse seda. Nii jääb kood "üheastmeliseks". Numbrivahemik ei alga aga nullist, vaid seda nihutatakse teatud väärtuse võrra. Teabe töötlemisel lahutatakse genereeritud signaalist pool algse ja vähendatud eraldusvõime erinevusest. Sellised eraldusvõimed nagu 360? nurga väljendamiseks kasutatakse sageli seda meetodit. Seega on 9-bitine Grey kood, mis on võrdne 512 sammuga, mõlemalt poolt 76 sammu võrra kärbitud, 360°.

Masinkeelest tavakeelde tõlkimiseks kasutatakse binaarse koodi dekodeerimist. Veebitööriistad töötavad kiiresti, kuigi käsitsi tegemine pole keeruline.

Teabe digitaalseks edastamiseks kasutatakse binaarset või kahendkoodi. Kahest märgist koosnev komplekt, näiteks 1 ja 0, võimaldab teil krüpteerida mis tahes teavet, olgu see siis tekst, numbrid või pilt.

Kuidas binaarkoodiga krüptida

Sümbolite käsitsi teisendamiseks kahendkoodiks kasutatakse tabeleid, milles igale sümbolile omistatakse kahendkood nullide ja ühtede kujul. Levinuim kodeerimissüsteem on ASCII, mis kasutab 8-bitist koodimärki.

Põhitabel näitab ladina tähestiku binaarkoode, numbreid ja mõningaid sümboleid.

Laiendatud tabelisse on lisatud kirillitsa tähestiku binaarne tõlgendus ja täiendavad märgid.

Binaarkoodist tekstiks või numbriteks teisendamiseks valige tabelitest lihtsalt soovitud koodid. Kuid loomulikult võtab sellise töö käsitsi tegemine palju aega. Ja pealegi on vead vältimatud. Arvuti saab dekrüpteerimisega hakkama palju kiiremini. Ja me isegi ei mõtle ekraanile teksti tippides, et sel hetkel teisendatakse tekst kahendkoodiks.

Kahendarvu teisendamine kümnendarvuks

Arvu käsitsi teisendamiseks kahendarvusüsteemist kümnendarvusüsteemiks võite kasutada üsna lihtsat algoritmi:

  1. Kirjutage kahendarvu alla, alustades kõige parempoolsemast numbrist, arv 2 kasvavate astmetega.
  2. 2 astmed korrutatakse kahendarvu vastava numbriga (1 või 0).
  3. Lisage saadud väärtused.

Selline näeb see algoritm paberil välja:

Veebiteenused binaarseks dekrüpteerimiseks

Kui teil on siiski vaja nägema dekrüpteeritud kahendkoodi või vastupidi, teisendada tekst kahendvormingusse, on lihtsaim viis kasutada selleks otstarbeks loodud võrguteenuseid.

Kaks veebitõlgetest tuttavat akent võimaldavad peaaegu samaaegselt näha mõlemat teksti versiooni nii tavalisel kui ka binaarsel kujul. Ja dekrüpteerimine toimub mõlemas suunas. Teksti sisestamine on lihtne kopeerimine ja kleepimine.

Binaarkoodi bitisügavus, teabe teisendamine pidevast diskreetsesse vormi, binaarse kodeerimise universaalsus, ühtsed ja ebaühtlased koodid, arvutiõpetus 7. klass Bosova, arvutiteadus 7. klass

1.5.1. Teabe teisendamine pidevast vormist diskreetseks
Oma probleemide lahendamiseks peab inimene sageli olemasolevat teavet ühest esitusvormist teise muutma. Näiteks ettelugemisel muudetakse teave diskreetsest (teksti) vormist pidevaks (heliks). Vastupidi, vene keele tunnis dikteerimise ajal muudetakse teave pidevast vormist (õpetaja hääl) diskreetseks (õpilaste märkmed).
Diskreetsel kujul esitatud teavet on palju lihtsam edastada, salvestada või automaatselt töödelda. Seetõttu pööratakse arvutitehnoloogias palju tähelepanu meetoditele teabe pidevast vormist diskreetseks teisendamiseks.
Teabe diskretiseerimine on teabe teisendamine pidevast esitusvormist diskreetseks.
Vaatame näite abil teabe valimi moodustamise protsessi olemust.
Meteoroloogiajaamades on salvestusseadmed atmosfäärirõhu pidevaks registreerimiseks. Nende töö tulemuseks on barogrammid – kõverad, mis näitavad, kuidas rõhk on pika aja jooksul muutunud. Üks neist kõveratest, mille seade on joonistanud seitsme vaatlustunni jooksul, on näidatud joonisel fig. 1.9.

Saadud teabe põhjal saate koostada tabeli, mis sisaldab mõõtmiste alguses ja iga vaatlustunni lõpus instrumendi näitu (joonis 1.10).

Saadud tabel ei anna täiesti täielikku pilti sellest, kuidas rõhk vaatlusperioodi jooksul muutus: näiteks ei ole märgitud kõrgeimat rõhu väärtust, mis tekkis neljanda vaatlustunni jooksul. Kui aga koostada tabelina vaadeldud rõhu väärtused iga poole tunni või 15 minuti järel, annab uus tabel täielikuma pildi rõhu muutumisest.
Seega teisendasime pideval kujul (barogramm, kõver) esitatud teabe diskreetseks vormiks (tabeliks) täpsuse vähenemisega.
Tulevikus saate tuttavaks heli- ja graafilise teabe diskreetse esitamise viisidega.

Kolmest kahendsümbolist koosnevad ahelad saadakse kahekohaliste kahekohaliste kahendkoodide täiendamisel sümboliga 0 või 1. Selle tulemusena on kolme kahendsümboli koodikombinatsioonid 8 – kaks korda rohkem kui kahe kahendsümboli omad:
Sellest lähtuvalt võimaldab neljabitine kahendkood saada 16 koodikombinatsiooni, viiebitine - 32, kuuebitine - 64 jne. Binaarse ahela pikkus - kahendkoodi märkide arv - on nimetatakse kahendkoodi bitisügavuseks.
Pange tähele, et:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 jne.
Siin on koodikombinatsioonide arv teatud arvu identsete tegurite korrutis, mis on võrdne kahendkoodi bitisügavusega.
Kui koodikombinatsioonide arv on tähistatud tähega N ja kahendkoodi bitisügavus tähega i, kirjutatakse tuvastatud muster üldkujul järgmiselt:
N = 2 * 2 * ... * 2.
i tegurid
Matemaatikas kirjutatakse sellised produktid järgmiselt:
N = 2 i.
Kirje 2 i loetakse järgmiselt: "2 i-nda astmeni."

Ülesanne. Multi hõimu juht andis oma ministrile ülesandeks välja töötada binaar ja tõlkida sellesse kogu oluline teave. Millise suurusega kahendkoodi on vaja, kui mitme hõimu kasutatav tähestik sisaldab 16 tähemärki? Kirjutage üles kõik koodikombinatsioonid.
Lahendus. Kuna Multi tribe tähestik koosneb 16 märgist, vajavad nad koodikombinatsioone 16. Sel juhul määratakse kahendkoodi pikkus (bitisügavus) suhtest: 16 = 2 i. Seega i = 4.
Kõigi nelja 0 ja 1 koodikombinatsioonide üleskirjutamiseks kasutame joonisel fig. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Binaarse kodeerimise mitmekülgsus
Selle osa alguses õppisite, et pideval kujul esitatuna saab seda väljendada sümbolite abil mõnes loomulikus või formaalses keeles. Omakorda saab suvalise tähestiku märgid teisendada binaarseteks. Seega saab kahendkoodi kasutades esitada mis tahes loomulikke ja formaalseid keeli, aga ka pilte ja helisid (joonis 1.14). See tähendab binaarse kodeerimise universaalsust.
Arvutitehnoloogias kasutatakse laialdaselt binaarkoode, mis nõuavad ainult kahte elektroonilise vooluahela olekut - "sees" (see vastab numbrile 1) ja "väljas" (see vastab numbrile 0).
Binaarse kodeerimise peamine eelis on tehnilise teostuse lihtsus. Binaarse kodeerimise miinuseks on saadud koodi suur pikkus.

1.5.4. Ühtsed ja ebaühtlased koodid
Seal on ühtsed ja ebaühtlased koodid. Ühtsed koodid koodikombinatsioonides sisaldavad sama arvu sümboleid, ebaühtlased erinevat numbrit.
Eespool vaatlesime ühtseid binaarkoode.
Ebaühtlase koodi näide on morsekood, milles iga tähe ja numbri jaoks on määratletud lühikeste ja pikkade signaalide jada. Niisiis, täht E vastab lühikesele signaalile (“punkt”) ja täht Ш neljale pikale signaalile (neli “kriipsu”). Ebaühtlane võimaldab suurendada sõnumite edastamise kiirust, kuna edastatava teabe kõige sagedamini esinevad sümbolid on lühimate koodikombinatsioonidega.

Info, mida see sümbol annab, võrdub süsteemi entroopiaga ja on maksimaalne juhul, kui mõlemad olekud on võrdselt tõenäolised; sel juhul edastab elementaarsümbol informatsiooni 1 (kaks ühikut). Seetõttu on optimaalse kodeerimise aluseks nõue, et kodeeritud teksti elementaarmärgid esineksid keskmiselt võrdselt.

Toome siin välja toodud tingimusele vastava koodi koostamise meetodi; Seda meetodit tuntakse Shannon-Fano koodina. Selle idee seisneb selles, et kodeeritud sümbolid (tähed või tähtede kombinatsioonid) jagatakse kahte ligikaudu võrdselt tõenäoliseks rühmaks: esimese sümbolirühma puhul asetatakse kombinatsiooni esimesele kohale 0 (kaksarvu esimene märk, mis tähistab sümbol); teise rühma jaoks - 1. Järgmisena jagatakse iga rühm uuesti kaheks ligikaudu võrdselt tõenäoliseks alarühmaks; esimese alarühma sümbolite puhul asetatakse null teisele kohale; teise alarühma jaoks - üks jne.

Näidakem Shannon-Fano koodi koostamise põhimõtet, kasutades vene tähestiku materjali (tabel 18.8.1). Loendame esimesed kuus tähte (alates "-" kuni "t"); nende tõenäosused (sagedused) kokku võttes saame 0,498; kõik teised tähed (alates "n" kuni "sf") on ligikaudu sama suure tõenäosusega 0,502. Esimesel kuuel tähel ("-" kuni "t") on binaarne 0. Ülejäänud tähtedel ("n" kuni "f") on esikohal üks. Järgmisena jagame esimese rühma uuesti kaheks ligikaudu võrdselt tõenäoliseks alarühmaks: "-"-st "o"-ni ja "e"-st "t"-ni; Teise alarühma kõigi tähtede jaoks paneme nulli ja teise alarühma ühe. Jätkame protsessi seni, kuni igasse jaotisesse jääb täpselt üks täht, mis kodeeritakse teatud kahendnumbriga. Mehhanism koodi koostamiseks on näidatud Tabel 18.8 .2 ja kood ise on toodud tabelis 18.8.3.

Tabel 18.8.2.

Binaarsed märgid

Tabel 18.8.3

Tabeli 18.8.3 abil saate kodeerida ja dekodeerida mis tahes sõnumit.

Näitena kirjutame kahendkoodis fraasi "teabeteooria".

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Pange tähele, et tähti pole vaja erimärgiga üksteisest eraldada, kuna dekodeerimine toimub üheselt ka ilma selleta. Saate seda kontrollida, dekodeerides järgmise fraasi, kasutades tabelit 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

(“kodeerimismeetod”).

Siiski tuleb märkida, et mis tahes kodeerimisviga (0 ja 1 tähemärgi juhuslik segamine) sellise koodiga on katastroofiline, kuna kogu veale järgneva teksti dekodeerimine muutub võimatuks. Seetõttu saab seda kodeerimispõhimõtet soovitada ainult juhtudel, kui vead sõnumi kodeerimisel ja edastamisel on praktiliselt välistatud.

Tekib loomulik küsimus: kas meie koostatud kood on vigade puudumisel tõesti optimaalne? Sellele küsimusele vastamiseks leiame keskmine info elementaarsümboli kohta (0 või 1) ja võrdleme seda maksimaalse võimaliku informatsiooniga, mis võrdub ühe kahendühikuga. Selleks leiame esmalt edastatava teksti ühes tähes sisalduva keskmise teabe, st entroopia tähe kohta:

,

kus on tõenäosus, et täht võtab teatud oleku (“-”, o, e, a,..., f).

Laualt 18.8.1 meil on

(kaks ühikut tekstitähe kohta).

Tabeli 18.8.2 abil määrame elementaarsümbolite keskmise arvu tähe kohta

Jagades entroopia arvuga, saame informatsiooni elementaarsümboli kohta

(kaks ühikut).

Seega on teave märgi kohta väga lähedal oma ülempiirile 1 ja meie valitud kood on väga lähedal optimaalsele. Jäädes tähtede kodeerimise ülesande piiridesse, ei saa me midagi paremat saavutada.

Pange tähele, et lihtsalt kahendarvude kodeerimisel oleks meil igast tähest viie kahendmärgiga kujutis ja ühe tähemärgi teave oleks

(kaks ühikut),

st märgatavalt vähem kui optimaalse tähekodeerimisega.

Siiski tuleb märkida, et "tähega" kodeerimine pole üldse ökonoomne. Fakt on see, et mis tahes tähendusliku teksti külgnevate tähtede vahel on alati sõltuvus. Näiteks ei saa vene keeles täishääliku järel olla "ъ" ega "ь"; "I" või "yu" ei saa esineda pärast susisevaid; pärast mitut konsonanti järjest suureneb vokaali tõenäosus jne.

Teame, et sõltuvate süsteemide kombineerimisel on koguentroopia väiksem kui üksikute süsteemide entroopiate summa; seetõttu on seotud tekstiosaga edastatav teave alati väiksem kui informatsioon märgi kohta korrutatud märkide arvuga. Seda asjaolu arvesse võttes saab ökonoomsema koodi koostada, kui kodeerida mitte iga tähte eraldi, vaid terveid tähtede “plokke”. Näiteks venekeelses tekstis on mõttekas kodeerida täielikult mõned sageli esinevad tähekombinatsioonid, nagu "tsya", "ayet", "nie" jne. Kodeeritud plokid on järjestatud sageduse kahanevas järjekorras, nagu tähed laual. 18.8.1 ja binaarne kodeerimine toimub samal põhimõttel.

Mõnel juhul osutub mõistlikuks kodeerida mitte isegi täheplokke, vaid terveid tähendusrikkaid tekstijuppe. Näiteks pühade ajal telegraafi leevendamiseks on soovitatav kodeerida terved standardtekstid tavapäraste numbritega, näiteks:

"Õnnitlen teid uue aasta puhul, soovin teile head tervist ja edu teie töös."

Ilma konkreetselt plokkkodeerimise meetoditel peatumata piirdume siinkohal oleva Shannoni teoreemi sõnastamisega.

Olgu sidekanaliga ühendatud infoallikas ja vastuvõtja (joonis 18.8.1).

Teada on infoallika produktiivsus ehk keskmine allikast tulevate binaarsete infoühikute arv ajaühikus (arvuliselt võrdub see allikate poolt toodetud sõnumi keskmise entroopiaga ajaühikus). Olgu lisaks teada kanali läbilaskevõime ehk maksimaalne infohulk (näiteks kahendmärgid 0 või 1), mida kanal on võimeline sama ajaühiku jooksul edastama. Tekib küsimus: milline peaks olema kanali läbilaskevõime, et ta saaks oma ülesandega “tuleb toime”, st et teave jõuaks allikast vastuvõtjani viivitamatult?

Vastuse sellele küsimusele annab Shannoni esimene teoreem. Sõnastagem see siin ilma tõenditeta.

Shannoni 1. teoreem

Kui sidekanali läbilaskevõime on suurem kui teabeallika entroopia ajaühiku kohta

siis on alati võimalik piisavalt pikk sõnum kodeerida nii, et see edastatakse sidekanali kaudu viivitamata. Kui vastupidi,

siis on teabe viivitamatu edastamine võimatu.