Binaarkoodile võrgus. Binaarne kood. Binaarkoodi tüübid ja pikkus. Pöörake binaarkoodi

Teenuse eesmärk. Teenus on loodud numbrite teisendamiseks ühest numbrisüsteemist teise võrgus. Selleks valige selle süsteemi baas, millest soovite numbri teisendada. Komaga saab sisestada nii täisarve kui numbreid.

Number

Teisendus 10 2 8 16 numbrisüsteemist. Teisenda 2 10 8 16 numbrisüsteemiks.
Murdarvude jaoks kasutage 2 3 4 5 6 7 8 komakohta.

Saate sisestada nii täisarve, näiteks 34, kui ka murdarvu, näiteks 637,333. Murdarvude puhul näidatakse tõlke täpsus pärast koma.

Selle kalkulaatoriga kasutatakse ka järgmist:

Numbrite esitamise viisid

Binaarne (kahend)arvud - iga number tähendab ühe biti väärtust (0 või 1), kõige olulisem bitt kirjutatakse alati vasakule, täht “b” asetatakse numbri järele. Tajumise hõlbustamiseks saab märkmikud eraldada tühikutega. Näiteks 1010 0101b.
Kuueteistkümnendsüsteem (kuueteistkümnendsüsteemis) numbrid - iga tetraad on tähistatud ühe sümboliga 0...9, A, B, ..., F. Seda esitust saab tähistada erineval viisil, siin kasutatakse pärast viimast kuueteistkümnendsüsteemi ainult sümbolit "h". numbriline. Näiteks A5h. Programmitekstides võib sama numbri tähistada kas 0xA5 või 0A5h, olenevalt programmeerimiskeele süntaksist. Numbrite ja sümboolsete nimede eristamiseks lisatakse algusnull (0) tähega tähistatavast kõige olulisemast kuueteistkümnendsüsteemist vasakule.
Kümnend (kümnend) numbrid - iga bait (sõna, topeltsõna) on esindatud tavalise numbriga ja kümnendkoha esitusmärk (täht "d") jäetakse tavaliselt välja. Eelmistes näidetes toodud baidi kümnendväärtus on 165. Erinevalt kahend- ja kuueteistkümnendsüsteemist on kümnendsüsteemiga keeruline iga biti väärtust vaimselt määrata, mis on mõnikord vajalik.
oktaalne (oktaalsed) numbrid - iga bitikolmik (jaotus algab kõige vähemtähtsast) kirjutatakse arvuna 0–7, mille lõpus on "o". Sama number kirjutataks 245o. Kaheksandsüsteem on ebamugav, kuna baiti ei saa jagada võrdselt.

Algoritm arvude teisendamiseks ühest numbrisüsteemist teise

Tervete kümnendarvude teisendamiseks mis tahes muuks arvusüsteemiks jagatakse arv uue arvusüsteemi alusega, kuni jääk jääb uue arvusüsteemi baasist väiksemaks arvuks. Uus arv kirjutatakse jagamisjääkidena, alustades viimasest.
Tavalise kümnendmurru teisendamiseks teiseks PSS-iks korrutatakse ainult murdosa arvust uue arvusüsteemi alusega, kuni kõik nullid jäävad murdosasse või kuni on saavutatud määratud tõlketäpsus. Iga korrutamisoperatsiooni tulemusena moodustub uue arvu üks number, alustades suurimast.
Vale murdude tõlkimine toimub vastavalt reeglitele 1 ja 2. Täis- ja murdosa kirjutatakse kokku, eraldades need komaga.

Näide nr 1.



Teisendamine 2-st 8-le numbrisüsteemile 16.
Need süsteemid on kahe kordsed, seetõttu toimub tõlge vastavustabeli abil (vt allpool).

Arvu teisendamiseks kahendarvusüsteemist oktaalsesse (kuueteistkümnendsüsteemi) numbrisüsteemi on vaja jagada kahendarvud kümnendkohalt paremale ja vasakule kolmest (kuueteistkümnendsüsteemi puhul neli) numbrist koosnevateks rühmadeks, täiendades välimisi rühmi. vajadusel nullidega. Iga rühm asendatakse vastava kaheksand- või kuueteistkümnendkohanumbriga.

Näide nr 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
siin 001=1; 010=2; 111 = 7; 010=2; 101 = 5; 001=1

Kuueteistkümnendsüsteemi teisendamisel peate jagama arvu neljakohalisteks osadeks, järgides samu reegleid.
Näide nr 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
siin 0010=2; 1011=B; 1010=12; 1011=13

Numbrite 2, 8 ja 16 teisendamine kümnendsüsteemiks toimub, jagades arvu üksikuteks ja korrutades selle süsteemi baasiga (millest arv tõlgitakse), mis on tõstetud selle seerianumbrile vastava astmeni. number, mida teisendatakse. Sel juhul nummerdatakse arvud koma vasakule (esimene arv on nummerdatud 0-ga) kasvades ja paremale kahanevalt (st negatiivse märgiga). Saadud tulemused liidetakse.

Näide nr 4.
Näide kahendarvusüsteemist kümnendsüsteemi teisendamiseks.

1010010.101 2 = 1,2 6 +0,2 5 +1,2 4 +0,2 3 +0,2 2 +1,2 1 +0,2 0 + 1,2 -1 +0,2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Näide kaheksandarvust kümnendarvu süsteemi teisendamiseks. 108,5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0,625 = 72,625 10 Kuueteistkümnendsüsteemist kümnendsüsteemi teisendamise näide. 108,5 16 = 1,16 2 +0,16 1 +8,16 0 + 5,16 -1 = 256 + 0 + 8 + 0,3125 = 264,3125 10

Veel kord kordame algoritmi numbrite teisendamiseks ühest numbrisüsteemist teise PSS-i

  1. Kümnendarvude süsteemist:
    • jagage arv tõlgitava arvusüsteemi alusega;
    • leida jääk arvu täisarvulise osa jagamisel;
    • kirjuta üles kõik jagamise jäägid vastupidises järjekorras;
  2. Kahendarvusüsteemist
    • Kümnendarvusüsteemi teisendamiseks on vaja leida aluse 2 korrutiste summa vastava numbriastme järgi;
    • Arvu teisendamiseks oktaaliks peate arvu jagama kolmkõladeks.
      Näiteks 1000110 = 1000 110 = 106 8
    • Arvu teisendamiseks kahendarvust kuueteistkümnendsüsteemiks peate jagama arvu 4-kohalisteks rühmadeks.
      Näiteks 1000110 = 100 0110 = 46 16
Süsteemi nimetatakse positsiooniliseks, mille puhul numbri olulisus või kaal sõltub selle asukohast numbris. Süsteemide vahelist seost väljendatakse tabelis.
Numbrisüsteemi vastavustabel:
Binaarne SSKuueteistkümnendsüsteem SS
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Tabel kaheksandarvusüsteemi teisendamiseks

Binaarkood on teabe salvestamise vorm ühtede ja nullide kujul. See on positsiooniline baasiga 2. Tänapäeval kasutatakse binaarkoodi (pisut allpool toodud tabel sisaldab mõningaid näiteid numbrite kirjutamise kohta) eranditult kõigis digiseadmetes. Selle populaarsust seletatakse selle salvestusvormi suure töökindluse ja lihtsusega. Binaararitmeetika on väga lihtne ja vastavalt sellele on seda lihtne riistvara tasemel rakendada. komponendid (või, nagu neid nimetatakse ka loogiliseks) on väga usaldusväärsed, kuna need töötavad ainult kahes olekus: loogiline üks (vool on olemas) ja loogiline null (voolu puudub). Seega võrreldakse neid soodsalt analoogkomponentidega, mille töö põhineb mööduvatel protsessidel.

Kuidas koostatakse kahendmärke?

Mõelgem välja, kuidas selline võti moodustatakse. Üks kahendkoodi bitt võib sisaldada ainult kahte olekut: null ja üks (0 ja 1). Kahe biti kasutamisel saab võimalikuks kirjutada neli väärtust: 00, 01, 10, 11. Kolmebitine kirje sisaldab kaheksat olekut: 000, 001 ... 110, 111. Selle tulemusena leiame, et kahendkood sõltub bittide arvust. Selle avaldise saab kirjutada järgmise valemiga: N =2m, kus: m on numbrite arv ja N on kombinatsioonide arv.

Binaarsete koodide tüübid

Mikroprotsessorites kasutatakse selliseid võtmeid erineva töödeldud teabe salvestamiseks. Binaarkoodi laius võib oluliselt ületada selle sisseehitatud mälu. Sellistel juhtudel hõivavad pikad numbrid mitu salvestuskohta ja neid töödeldakse mitme käsu abil. Sel juhul käsitletakse kõiki mitmebaidise kahendkoodi jaoks eraldatud mälu sektoreid ühe numbrina.

Sõltuvalt selle või selle teabe esitamise vajadusest eristatakse järgmist tüüpi võtmeid:

  • allkirjastamata;
  • otsesed täisarvulised märgikoodid;
  • märgiga pöördmärgid;
  • märk täiendav;
  • hall kood;
  • Grey Expressi kood;
  • murdosa koodid.

Vaatame igaüks neist lähemalt.

Signeerimata kahendkood

Mõelgem välja, mis on seda tüüpi salvestus. Märgita täisarvukoodides tähistab iga number (binaarne) kahe astet. Sellisel juhul on väikseim arv, mida sellel kujul kirjutada saab, null ja maksimumi saab esitada järgmise valemiga: M = 2 n -1. Need kaks numbrit määratlevad täielikult võtme vahemiku, mida saab kasutada sellise kahendkoodi väljendamiseks. Vaatame mainitud salvestusvormi võimalusi. Seda tüüpi kaheksast bitist koosneva märgita võtme kasutamisel on võimalike numbrite vahemik 0 kuni 255. Kuueteistkümnebitise koodi vahemik on 0 kuni 65535. Kaheksabitistes protsessorites kasutatakse kahte mälusektorit. selliste numbrite salvestamiseks ja kirjutamiseks, mis asuvad külgnevates sihtkohtades . Selliste klahvidega töötavad spetsiaalsed käsud.

Otsesed täisarvulise märgiga koodid

Seda tüüpi kahendvõtme puhul kasutatakse numbri märgi salvestamiseks kõige olulisemat bitti. Null vastab plussile ja üks miinusele. Selle numbri kasutuselevõtu tulemusena nihkub kodeeritud arvude vahemik negatiivsele poolele. Selgub, et kaheksabitine märgiga täisarvuline kahendvõti suudab kirjutada numbreid vahemikus -127 kuni +127. Kuueteistbitine - vahemikus -32767 kuni +32767. Kaheksabitised mikroprotsessorid kasutavad selliste koodide salvestamiseks kahte kõrvutiasetsevat sektorit.

Selle salvestusvormi puuduseks on see, et võtme märki ja digitaalseid bitte tuleb töödelda eraldi. Nende koodidega töötavate programmide algoritmid osutuvad väga keerukaks. Märgibittide muutmiseks ja esiletõstmiseks on vaja kasutada selle sümboli varjamise mehhanisme, mis aitab kaasa tarkvara suuruse järsule suurenemisele ja selle jõudluse vähenemisele. Selle puuduse kõrvaldamiseks võeti kasutusele uut tüüpi võti - vastupidine binaarkood.

Signeeritud tagurpidi võti

See salvestusvorm erineb otsekoodidest ainult selle poolest, et negatiivne arv selles saadakse võtme kõigi bittide ümberpööramisel. Sel juhul on digitaal- ja märgibitid identsed. Tänu sellele on seda tüüpi koodiga töötamise algoritmid oluliselt lihtsustatud. Tagurpidi võti nõuab aga spetsiaalset algoritmi, et tuvastada esimese numbri märk ja arvutada arvu absoluutväärtus. Nagu ka saadud väärtuse märgi taastamine. Veelgi enam, numbrite tagurpidi ja edasisuunas koodides kasutatakse nulli kirjutamiseks kahte klahvi. Hoolimata asjaolust, et sellel väärtusel pole positiivset ega negatiivset märki.

Signeeritud kahe komplemendi kahendarv

Seda tüüpi kirjel ei ole eelmiste võtmete loetletud puudusi. Sellised koodid võimaldavad nii positiivsete kui ka negatiivsete arvude otsest liitmist. Sel juhul märgibiti analüüsi ei tehta. Kõik see on võimalik tänu asjaolule, et täiendavad numbrid on sümbolite loomulik rõngas, mitte kunstlikud moodustised, nagu edasi- ja tagasiklahvid. Veelgi enam, oluline tegur on see, et binaarkoodides on komplementarvutuste tegemine ülilihtne. Selleks lisage lihtsalt üks tagurdusklahvile. Seda tüüpi kaheksast numbrist koosneva märgikoodi kasutamisel on võimalike numbrite vahemik -128 kuni +127. Kuueteistkümnebitise võtme vahemik on -32768 kuni +32767. Kaheksabitised protsessorid kasutavad selliste numbrite salvestamiseks ka kahte kõrvuti asuvat sektorit.

Kahe binaarne komplementkood on huvitav oma jälgitava efekti tõttu, mida nimetatakse märgi leviku nähtuseks. Mõelgem välja, mida see tähendab. See efekt seisneb selles, et ühebaidise väärtuse kahebaidiseks teisendamisel piisab, kui määrata madala baidi märgibittide väärtused igale kõrge baidi bitile. Selgub, et saate allkirjastatud bittide salvestamiseks kasutada kõige olulisemaid bitte. Sel juhul ei muutu võtme väärtus üldse.

Hall kood

See salvestusvorm on sisuliselt üheastmeline võti. See tähendab, et ühelt väärtuselt teisele ülemineku protsessis muutub ainult üks teabe bitt. Sel juhul põhjustab andmete lugemise viga väikese ajalise nihkega ülemineku ühest positsioonist teise. Nurgaasendist täiesti vale tulemuse saamine sellise protsessiga on aga täiesti välistatud. Sellise koodi eeliseks on selle võime teavet peegeldada. Näiteks inverteerides kõige olulisemad bitid, saate lihtsalt loendussuunda muuta. See juhtub tänu komplementi juhtsisendile. Sel juhul võib väljundväärtus telje ühe füüsilise pöörlemise suuna jaoks olla kas suurenev või vähenev. Kuna Gray võtmes salvestatud teave on looduses eranditult kodeeritud, mis ei kanna tegelikke arvandmeid, on enne edasist tööd vaja see esmalt teisendada tavapärasesse binaarsesse salvestusvormi. Selleks kasutatakse spetsiaalset muundurit - Grey-Binar dekoodrit. Seda seadet on lihtne rakendada, kasutades nii riist- kui ka tarkvara elementaarseid loogikaelemente.

Grey Express kood

Gray standardne üheastmeline klahv sobib lahendustele, mis on esitatud numbritena, kaks. Juhtudel, kui on vaja rakendada muid lahendusi, lõigatakse sellest salvestusvormist välja ja kasutatakse ainult keskmine osa. Selle tulemusena säilib võtme üheastmelisus. Kuid selles koodis ei ole numbrivahemiku algus null. Seda nihutatakse määratud väärtuse võrra. Andmetöötluse käigus lahutatakse genereeritud impulssidest pool esialgse ja vähendatud eraldusvõime erinevusest.

Murdarvu esitamine fikseeritud punktiga kahendvõtmes

Töö käigus tuleb opereerida mitte ainult täisarvudega, vaid ka murdudega. Selliseid numbreid saab kirjutada otse-, pöörd- ja täiendavate koodide abil. Mainitud võtmete konstrueerimise põhimõte on sama, mis täisarvude puhul. Seni arvasime, et kahendkoma peaks asuma kõige vähemtähtsast numbrist paremal. Aga see pole tõsi. See võib asuda kõige olulisemast numbrist vasakul (sel juhul saab muutujana kirjutada ainult murdarvud) ja muutuja keskel (saab kirjutada segaväärtusi).

Binaarne ujukoma esitus

Seda vormi kasutatakse kirjutamiseks või vastupidi – väga väike. Näited hõlmavad tähtedevahelisi kaugusi või aatomite ja elektronide suurusi. Selliste väärtuste arvutamisel tuleks kasutada väga suurt kahendkoodi. Kuid me ei pea millimeetri täpsusega arvestama kosmilisi kaugusi. Seetõttu on fikseeritud punkti tähistusvorm antud juhul ebaefektiivne. Selliste koodide kuvamiseks kasutatakse algebralist vormi. See tähendab, et arv kirjutatakse mantissina, mis on korrutatud kümnega astmeni, mis kajastab numbri soovitud järjekorda. Peaksite teadma, et mantiss ei tohiks olla suurem kui üks ja pärast koma ei tohiks kirjutada nulli.

Arvatakse, et binaararvutuse leiutas 18. sajandi alguses saksa matemaatik Gottfried Leibniz. Kuid nagu teadlased hiljuti avastasid, ammu enne Polüneesia Mangareva saart, kasutati seda tüüpi aritmeetikat. Hoolimata asjaolust, et koloniseerimine hävitas peaaegu täielikult algsed arvusüsteemid, on teadlased taastanud keeruka kahend- ja kümnendloenduse tüübid. Lisaks väidab kognitiivteadlane Nunez, et binaarset kodeerimist kasutati Vana-Hiinas juba 9. sajandil eKr. e. Ka teised iidsed tsivilisatsioonid, nagu maiad, kasutasid ajavahemike ja astronoomiliste nähtuste jälgimiseks keerukaid kümnend- ja kahendsüsteemide kombinatsioone.

Kõik teavad, et arvutid suudavad teha arvutusi suurte andmerühmadega tohutu kiirusega. Kuid mitte kõik ei tea, et need toimingud sõltuvad ainult kahest tingimusest: kas vool on või mitte ja milline pinge.

Kuidas suudab arvuti nii erinevat teavet töödelda?
Saladus peitub kahendarvusüsteemis. Kõik andmed sisestatakse arvutisse, esitatuna ühtede ja nullidena, millest igaüks vastab ühele elektrijuhtme olekule: ühed - kõrgepinge, nullid - madal või ühed - pinge olemasolu, nullid - selle puudumine. Andmete teisendamist nullideks ja ühtedeks nimetatakse binaarseks teisendamiseks ja selle lõplikku tähistust kahendkoodiks.
Kümnendmärgistuses, lähtudes igapäevaelus kasutatavast kümnendarvusüsteemist, kujutatakse arvväärtust kümne numbriga 0-st 9-ni ning arvu iga koht on kümme korda suurem kui sellest paremal olev koht. Kümnendsüsteemis üheksast suurema arvu esitamiseks asetatakse selle asemele null ja järgmisse, väärtuslikumasse kohta vasakule üks. Samamoodi on kahendsüsteemis, mis kasutab ainult kahte numbrit – 0 ja 1, iga koht kaks korda väärtuslikum kui sellest paremal asuv koht. Seega saab kahendkoodis esitada ainult nulli ja ühte üksikute arvudena ning iga ühest suurem arv nõuab kahte kohta. Nulli ja ühe järel on järgmised kolm kahendarvu 10 (loe üks-null) ja 11 (loe üks-üks) ja 100 (loe üks-null-null). 100 kahendarvu võrdub 4 kümnendkohaga. Parempoolne ülemine tabel näitab teisi BCD ekvivalente.
Iga arvu saab väljendada kahendarvuna, see võtab lihtsalt rohkem ruumi kui kümnendarvuna. Tähestiku saab kirjutada ka kahendsüsteemis, kui igale tähele on määratud kindel kahendnumber.

Kaks numbrit nelja koha kohta
Tumedate ja heledate pallide abil saab teha 16 kombinatsiooni, kombineerides neid neljakaupa.Kui tumedad pallid võtta nullidena ja heledad pallid ühtedeks, siis 16 komplekti osutub 16-ühikuliseks kahendkoodiks, mille arvväärtus mis on nullist viieni (vt ülemist tabelit lk 27). Isegi kahendsüsteemis kahte tüüpi pallide puhul saab luua lõpmatu arvu kombinatsioone, suurendades lihtsalt igas rühmas olevate pallide arvu – või kohtade arvu numbrites.

Bitid ja baidid

Arvutitöötluse väikseim ühik, bitt on andmeühik, millel võib olla üks kahest võimalikust tingimusest. Näiteks kõik ühed ja nullid (paremal) tähistavad 1 bitti. Bitti saab kujutada ka muul viisil: elektrivoolu olemasolu või puudumine, auk või selle puudumine, magnetiseerimise suund paremale või vasakule. Kaheksa bitti moodustavad ühe baidi. 256 võimalikku baiti võivad esindada 256 tähemärki ja sümbolit. Paljud arvutid töötlevad korraga ühe baiti andmeid.

Binaarne teisendamine. Neljakohaline kahendkood võib tähistada kümnendnumbreid vahemikus 0 kuni 15.

Kooditabelid

Kui kahendkoodi kasutatakse tähestiku tähtede või kirjavahemärkide tähistamiseks, on vaja kooditabeleid, mis näitavad, milline kood millisele märgile vastab. Selliseid koode on koostatud mitu. Enamik personaalarvuteid on konfigureeritud seitsmekohalise koodiga ASCII või Ameerika standardkoodiga teabevahetuseks. Parempoolses tabelis on toodud ingliskeelse tähestiku ASCII koodid. Teised koodid on mõeldud tuhandete märkide ja tähestiku jaoks teistes maailma keeltes.

Osa ASCII kooditabelist

Kutsutakse välja märkide kogum, millega tekst on kirjutatud tähestik.

Tähemärkide arv tähestikus on selle võimsus.

Infohulga määramise valem: N=2b,

kus N on tähestiku aste (märkide arv),

b – bittide arv (sümboli infokaal).

256 tähemärki mahutav tähestik mahutab peaaegu kõik vajalikud märgid. Seda tähestikku nimetatakse piisav.

Sest 256 = 2 8, siis on 1 märgi kaal 8 bitti.

Mõõtühikule 8 bitti anti nimi 1 bait:

1 bait = 8 bitti.

Iga tähemärgi binaarkood arvutitekstis võtab 1 baidi mälu.

Kuidas tekstiteavet arvutimälus esitatakse?

Bait-baitilise märgikodeeringu mugavus on ilmne, kuna bait on mälu väikseim adresseeritav osa ja seetõttu pääseb protsessor teksti töötlemisel igale märgile eraldi juurde. Teisest küljest on 256 tähemärki üsna piisav arv, et esindada väga erinevat sümboolset teavet.

Nüüd tekib küsimus, milline kaheksabitine kahendkood igale märgile määrata.

On selge, et see on tingimuslik asi; saate välja mõelda palju kodeerimismeetodeid.

Kõik arvutitähestiku märgid on nummerdatud vahemikus 0 kuni 255. Iga number vastab kaheksabitisele kahendkoodile vahemikus 00000000 kuni 11111111. See kood on lihtsalt märgi seerianumber kahendarvusüsteemis.

Tabelit, milles arvutitähestiku kõikidele tähemärkidele on määratud seerianumbrid, nimetatakse kodeeringutabeliks.

Erinevat tüüpi arvutid kasutavad erinevaid kodeerimistabeleid.

Tabelist on saanud personaalarvutite rahvusvaheline standard ASCII(loe aski) (Ameerika standardkood teabevahetuseks).

ASCII kooditabel on jagatud kaheks osaks.

Vaid tabeli esimene pool on rahvusvaheline standard, s.o. sümbolid numbritega alates 0 (00000000), kuni 127 (01111111).

ASCII kodeeringu tabeli struktuur

Seerianumber

Kood

Sümbol

0 - 31

00000000 - 00011111

Sümboleid numbritega 0 kuni 31 nimetatakse tavaliselt juhtsümboliteks.
Nende ülesanne on juhtida teksti ekraanil kuvamise või printimise protsessi, helisignaali andmist, teksti märgistamist jne.

32 - 127

00100000 - 01111111

Tabeli standardosa (inglise keeles). Siia kuuluvad ladina tähestiku väike- ja suurtähed, kümnendarvud, kirjavahemärgid, igasugused sulud, kaubanduslikud ja muud sümbolid.
Märk 32 on tühik, st. tühi koht tekstis.
Kõik teised peegelduvad teatud märkide kaudu.

128 - 255

10000000 - 11111111

Tabeli alternatiivne osa (vene).
ASCII kooditabeli teisel poolel, mida nimetatakse koodileheks (128 koodi, alates 10000000 ja lõpetades numbriga 11111111), võivad olla erinevad valikud, igal valikul on oma number.
Koodilehte kasutatakse peamiselt muude rahvuslike tähestike kui ladina tähestiku mahutamiseks. Vene rahvusliku kodeeringu puhul paigutatakse sellesse tabeli ossa vene tähestiku märgid.

ASCII kooditabeli esimene pool


Pange tähele, et kodeerimistabelis on tähed (suur- ja väiketähed) järjestatud tähestikulises järjekorras ning numbrid kasvavas järjekorras. Sellist leksikograafilise korra järgimist sümbolite paigutusel nimetatakse tähestiku järjestikuse kodeerimise põhimõtteks.

Vene tähestiku tähtede puhul järgitakse ka järjestikuse kodeerimise põhimõtet.

ASCII kooditabeli teine ​​pool


Kahjuks on praegu viis erinevat kirillitsa kodeeringut (KOI8-R, Windows. MS-DOS, Macintosh ja ISO). Seetõttu tekivad sageli probleemid venekeelse teksti ülekandmisel ühest arvutist teise, ühest tarkvarasüsteemist teise.

Kronoloogiliselt oli üks esimesi standardeid vene tähtede kodeerimiseks arvutites KOI8 ("Informatsioonivahetuskood, 8-bitine"). Seda kodeeringut kasutati 70ndatel ES-i arvutiseeria arvutites ja alates 80ndate keskpaigast hakati seda kasutama UNIX-i operatsioonisüsteemi esimestes venestatud versioonides.

Alates 90ndate algusest, MS DOS operatsioonisüsteemi domineerimise ajast, jääb alles CP866 kodeering ("CP" tähendab "koodilehte", "koodilehte").

Mac OS operatsioonisüsteemi kasutavad Apple'i arvutid kasutavad oma Maci kodeeringut.

Lisaks on Rahvusvaheline Standardiorganisatsioon (ISO) heaks kiitnud vene keele standardiks veel ühe kodeeringu nimega ISO 8859-5.

Praegu kasutatav kõige levinum kodeering on Microsoft Windows, lühend CP1251.

Alates 90ndate lõpust on märgikodeeringu standardimise probleem lahendatud uue rahvusvahelise standardi, nn. Unicode. See on 16-bitine kodeering, st. see eraldab iga märgi jaoks 2 baiti mälu. Loomulikult suurendab see hõivatud mälu mahtu 2 korda. Kuid selline kooditabel võimaldab kaasata kuni 65536 tähemärki. Unicode'i standardi täielik spetsifikatsioon sisaldab kõiki maailma olemasolevaid, väljasurnud ja kunstlikult loodud tähestikke ning palju matemaatilisi, muusikalisi, keemilisi ja muid sümboleid.

Proovime kasutada ASCII tabelit, et kujutada ette, millised sõnad arvuti mälus välja näevad.

Sõnade sisemine esitus arvutimälus

Mõnikord juhtub, et teisest arvutist saadud vene tähestiku tähtedest koosnevat teksti ei saa lugeda - monitori ekraanil on näha mingisugune “abrakadabra”. See juhtub seetõttu, et arvutid kasutavad vene keele jaoks erinevat märgikodeeringut.

Binaarkood esindab teksti, arvutiprotsessori juhiseid või muid andmeid, kasutades mis tahes kahekohalist süsteemi. Kõige sagedamini on see 0-de ja 1-de süsteem, mis määrab igale sümbolile ja käsule kahendnumbrite (bittide) mustri. Näiteks võib kaheksast bitist koosnev binaarne string esindada mis tahes 256 võimalikku väärtust ja seetõttu genereerida palju erinevaid elemente. Ülemaailmse programmeerijate professionaalse kogukonna binaarkoodi ülevaated näitavad, et see on elukutse alus ning arvutisüsteemide ja elektroonikaseadmete toimimise peamine seadus.

Binaarkoodi dešifreerimine

Arvutustehnikas ja telekommunikatsioonis kasutatakse binaarkoode erinevate meetodite jaoks andmemärkide kodeerimiseks bitistringideks. Need meetodid võivad kasutada fikseeritud või muutuva laiusega stringe. Binaarkoodiks teisendamiseks on palju märgikomplekte ja kodeeringuid. Fikseeritud laiusega koodis tähistatakse iga tähte, numbrit või muud märki sama pikkusega bitistringina. Seda kahendarvuna tõlgendatavat bitistringi kuvatakse kooditabelites tavaliselt kaheksand-, kümnend- või kuueteistkümnendsüsteemis.

Binaarne dekodeerimine: Bitistringi, mida tõlgendatakse kahendarvuna, saab teisendada kümnendarvuks. Näiteks väiketähte a, kui seda esindab bitistring 01100001 (nagu standardses ASCII-koodis), saab esitada ka kümnendarvuna 97. Binaarkoodi teisendamine tekstiks on sama protseduur, ainult vastupidi.

Kuidas see töötab

Millest koosneb kahendkood? Digitaalarvutites kasutatav kood põhineb, millel on ainult kaks võimalikku olekut: sees. ja välja lülitatud, tavaliselt tähistatakse nulli ja ühega. Kui kümnendsüsteemis, mis kasutab 10 numbrit, on iga positsioon 10 kordne (100, 1000 jne), siis kahendsüsteemis on iga numbri positsioon 2 kordne (4, 8, 16 jne). . Kahendkoodi signaal on elektriimpulsside jada, mis tähistab numbreid, sümboleid ja sooritatavaid toiminguid.

Seade, mida nimetatakse kellaks, saadab välja regulaarseid impulsse ja komponendid, nagu transistorid, lülitatakse impulsside edastamiseks või blokeerimiseks sisse (1) või välja (0). Kahendkoodis on iga kümnendnumber (0-9) esindatud nelja kahendnumbri või biti komplektiga. Aritmeetika neli põhitoimingut (liitmine, lahutamine, korrutamine ja jagamine) saab taandada kahendarvude Boole'i ​​algebraliste põhitoimingute kombinatsioonideks.

Bitt on kommunikatsiooni- ja infoteoorias andmeühik, mis on võrdne digitaalarvutites tavapäraselt kasutatava kahendarvusüsteemi kahe võimaliku alternatiivi valiku tulemusega.

Binaarse koodi ülevaated

Koodi ja andmete olemus on IT põhimaailma põhiosa. Seda tööriista kasutavad globaalse IT spetsialistid "kulisside taga" - programmeerijad, kelle spetsialiseerumine on tavakasutaja tähelepanu eest varjatud. Arendajate binaarkoodi ülevaated näitavad, et see valdkond nõuab matemaatiliste põhialuste põhjalikku uurimist ja ulatuslikku praktikat matemaatilise analüüsi ja programmeerimise valdkonnas.

Binaarkood on arvutikoodi või programmeerimisandmete lihtsaim vorm. Seda esindab täielikult kahendarvuline süsteem. Binaarse koodi ülevaatuste kohaselt seostatakse seda sageli masinkoodiga, kuna binaarseid komplekte saab kombineerida lähtekoodiks, mida arvuti või muu riistvara tõlgendab. See on osaliselt tõsi. kasutab juhiste moodustamiseks kahendnumbrite komplekte.

Koos kõige elementaarsema koodivormiga esindab binaarfail ka väikseimat andmemahtu, mis liigub läbi kõigi tänapäevaste ressursse ja andmevarasid töötlevate keeruliste ja täielike riist- ja tarkvarasüsteemide kaudu. Väiksemat andmemahtu nimetatakse bitiks. Praegused bittide stringid muutuvad koodiks või andmeteks, mida arvuti tõlgendab.

Kahendarv

Matemaatikas ja digitaalelektroonikas on kahendarv arv, mis on väljendatud 2. põhiarvusüsteemis ehk kahendarvusüsteemis, mis kasutab ainult kahte märki: 0 (null) ja 1 (üks).

Alus-2 numbrisüsteem on positsiooniline märge raadiusega 2. Iga numbrit nimetatakse bitiks. Tänu selle lihtsale rakendamisele loogilisi reegleid kasutavates digitaalsetes elektroonikalülitustes kasutavad binaarsüsteemi peaaegu kõik kaasaegsed arvutid ja elektroonikaseadmed.

Lugu

Kaasaegse kahendarvusüsteemi kui kahendkoodi aluse leiutas Gottfried Leibniz 1679. aastal ja seda tutvustas oma artiklis "Binary Aithmetic Explained". Kahendarvud olid Leibnizi teoloogias kesksel kohal. Ta uskus, et kahendarvud sümboliseerivad kristlikku ideed loovusest ex nihilo ehk mitte millestki loomisest. Leibniz püüdis leida süsteemi, mis muudaks verbaalsed loogikaavaldused puhtalt matemaatiliseks andmeteks.

Leibnizile eelnenud binaarsüsteemid eksisteerisid ka antiikmaailmas. Näiteks võib tuua Hiina kahendsüsteemi I Ching, kus ennustamistekst põhineb yin ja yang duaalsusel. Aasias ja Aafrikas kasutati sõnumite kodeerimiseks kahendtoonidega piludega trumme. India õpetlane Pingala (umbes 5. sajand eKr) töötas oma töös Chandashutrema välja binaarse süsteemi prosoodia kirjeldamiseks.

Prantsuse Polüneesia Mangareva saare elanikud kasutasid hübriidset kahend-kümnendsüsteemi kuni 1450. aastani. 11. sajandil töötas teadlane ja filosoof Shao Yong välja meetodi heksagrammide korraldamiseks, mis vastavad järjestusele 0 kuni 63, mis on esitatud binaarses vormingus, kus yin on 0 ja yang on 1. Järjekord on ka leksikograafiline järjekord. kaheelemendilisest komplektist valitud elementide plokid.

Uus aeg

Aastal 1605 arutas süsteem, milles tähestiku tähed saaks taandada kahendnumbriteks, mida saab seejärel kodeerida tüübi peente variatsioonidena mis tahes juhuslikus tekstis. Oluline on märkida, et just Francis Bacon täiendas binaarse kodeerimise üldteooriat tähelepanekuga, et seda meetodit saab kasutada mis tahes objektide puhul.

Teine matemaatik ja filosoof George Boole avaldas 1847. aastal artikli "Loogika matemaatiline analüüs", milles kirjeldati algebralist loogikasüsteemi, mida tänapäeval tuntakse Boole'i ​​algebra nime all. Süsteem põhines binaarsel lähenemisel, mis koosnes kolmest põhioperatsioonist: JA, VÕI ja EI. See süsteem ei hakanud tööle enne, kui MIT-i kraadiõppur Claude Shannon märkas, et Boole'i ​​algebra, mida ta õppis, sarnaneb elektriahelaga.

Shannon kirjutas 1937. aastal väitekirja, mis tegi olulisi järeldusi. Shannoni lõputöö sai lähtepunktiks kahendkoodi kasutamisele praktilistes rakendustes, nagu arvutid ja elektriskeemid.

Teised kahendkoodi vormid

Bitstring ei ole ainus kahendkoodi tüüp. Binaarsüsteem on üldiselt iga süsteem, mis võimaldab ainult kahte võimalust, näiteks lülitit elektroonilises süsteemis või lihtsat tõene või vale test.

Punktkiri on kahendkoodi tüüp, mida kasutavad laialdaselt pimedad puudutusega lugemiseks ja kirjutamiseks ning mis on oma nime saanud selle looja Louis Braille' järgi. See süsteem koosneb kuuest punktist koosnevast ruudustikust, igas veerus kolm punkti, kus igal punktil on kaks olekut: tõstetud või süvistatud. Erinevad punktide kombinatsioonid võivad tähistada kõiki tähti, numbreid ja kirjavahemärke.

American Standard Code for Information Interchange (ASCII) kasutab arvutites, sideseadmetes ja muudes seadmetes teksti ja muude märkide esitamiseks 7-bitist kahendkoodi. Igale tähele või sümbolile on määratud number vahemikus 0 kuni 127.

Binaarselt kodeeritud kümnend ehk BCD on täisarvude binaarkoodiga esitus, mis kasutab kümnendnumbrite kodeerimiseks 4-bitist graafikut. Neli binaarset bitti võivad kodeerida kuni 16 erinevat väärtust.

BCD-kodeeritud numbrite puhul kehtivad ainult iga närimise esimesed kümme väärtust ja kodeerivad kümnendkoha numbrid nullidega pärast üheksat. Ülejäänud kuus väärtust on kehtetud ja võivad sõltuvalt arvuti BCD aritmeetika rakendamisest põhjustada kas masina erandi või määratlemata käitumise.

BCD aritmeetikat eelistatakse mõnikord ujukomaarvuvormingutele äri- ja finantsrakendustes, kus kompleksarvude ümardamine on ebasoovitav.

Rakendus

Enamik tänapäevaseid arvuteid kasutab juhiste ja andmete jaoks kahendkoodiprogrammi. CD-d, DVD-d ja Blu-ray-plaadid esindavad heli ja videot binaarses vormis. Telefonikõned toimuvad digitaalselt kaug- ja mobiiltelefonivõrkudes, kasutades impulsskoodmodulatsiooni ning IP-kõnevõrkudes.