...
Elu häkid, kasulikud näpunäited, soovitused. Artiklid meestele ja naistele. Me kirjutame tehnoloogiast ja kõigest, mis on huvitav.

Teabe tõlkimine kahendkoodiks – mis see on, selle tüübid, dekodeerimine

2

Kõik teavad arvutite võimet arvutada suuri andmerühmi peaaegu sekunditega. Kuid mitte kõik ei tea, et see elektrooniliste masinate võime sõltub voolu ja pinge olemasolust.

Mis on kahendkood?

Kuidas suudab arvuti kiiresti töödelda tohutult infot? Binaarsüsteem aitab teda selles. Sellesse nutiseadmesse sisenevad andmed näevad välja nagu ühed ja nullid. Iga ühik ja iga null vastavad elektrijuhtme teatud olekule:

  • 1 – kõrgepinge.
  • 0 – madal.

Või ühikute puhul – pinge olemasolu ja nullide puhul – puudumine.

Binaarsüsteemi aluseks on kahendkoodid. Mis on kahendkood?

Andmete nullideks ja ühtedeks teisendamist nimetatakse "binaarseks teisendamiseks" ja nende lõplik tähistus on "binaarkood".

Binaarkoodi bitisügavus

Kõik kahendarvud on bittide kogum, st ühed ja nullid ning iga bitt on kahendarvus üks bitt või üks positsioon. Sageli tekib arvutiteaduse ülesannetes küsimus, kui palju teavet see või teine ​​kahendkood kannab. Peaksite teadma, et kahendkoodi iga number sisaldab teabe hulka, mis on võrdne ühe bitiga.

Mis on kahendkoodi bitisügavus? Kui vaadata aritmeetika seisukohalt, siis bitisügavus viitab kohale, mille number numbrite kirjutamisel hõivab. Seejärel tähendab kahendkoodi bitisügavus märkide (numbrite) kohtade arvu või bittide arvu, mis on numbri üleskirjutamiseks eelnevalt eraldatud.

Binaarne dekrüpteerimine

Kuidas binaarkoodi dekrüpteerida? Kümnendmärk põhineb tavaelus tavaliselt kasutataval kümnendsüsteemil ja siin on arvulised väärtused esitatud kümne numbrina nullist üheksani. Kõik arvudes olevad kohad on kümme korda väärtuslikumad kui parempoolne koht. 9-st suurema arvu esitamiseks kümnendsüsteemis kasutatakse nulli, mis asetatakse paremale. Ja üksus asub vasakul järgmises, väärtuslikumas kohas.

Sarnaselt töötab kahendsüsteem, milles kasutatakse ainult kahte numbrit – null ja üks. Vasakpoolsed istmed on kaks korda väärtuslikumad kui parempoolsed istmed. Seega on kahendkoodi puhul tüüpiline, et ainult 0 ja 1 võivad olla üksikud numbrid ning ühest suuremate arvude puhul on juba vaja 2 kohta.

Pärast 0 ja 1 järgnevad järgmised kahendarvud:

  • 10 (see tähendab 1,0).
  • 11 (1,1).
  • 100(1,0,0).

Kahendkoodis on 100 kümnendkoha ekvivalent 4-le. Seega saab iga arvu väljendada kahendkoodina, kuid see võtab rohkem ruumi. Samuti, määrates igale tähestikutähele teatud kahendnumbrid, saab mis tahes sõna tõlkida kahendkoodiks.

Video numbrite teisendamisest kahendkoodiks

Näiteks sõnumi edastamiseks digitaalse sidekanali kaudu on see kodeeritud, st iga algse sõnumi tähemärki võrreldakse teatud koodiga (koodsõnaga). Selleks kasutatakse binaarkoode – ühtede ja nullide jada.

Näiteks sõna "ema" kodeerimiseks valitakse järgmine kood:

  • M – 00.
  • A-1.
  • jah – 01.
  • L – 0.
  • U-10.

Ruumi on 11.

Kodeeritud tähed ühendatakse üheks bitistringiks ja edastatakse võrgu kaudu järgmisel kujul:

MOM SEEP LAMU → 0010011100010111010010

Pärast selle stringi sihtkohta toimetamist tuleb lahendada algse sõnumi taastamise probleem. Niisiis, pärast sõnumi "001001" saamist saab selle dekodeerida mitmel viisil. Näiteks eeldades, et see koosneb ainult tähtedest L (kood 0) ja A (kood 1), saate:

LLALLAAALLLLAAAAAALLALL

See tähendab, et ülaltoodud kood ei ole üheselt dekodeeritav. Unikaalselt dekodeeritavad koodid on need, mille puhul saab mis tahes koodisõnumeid dekodeerida ainult ühel viisil.

Ühtsed koodid

See probleem lahendatakse, jagades bitistringi õigesti eraldi kodeeritud sõnadeks. Seda saab teha näiteks ühtse koodi abil, mille sõnade pikkus on alati sama. Näiteks koosneb see fraas kuuest märgist, mis tähendab, et saab rakendada kolmebitist koodi.

Näiteks kui kodeerite ülaltoodud fraasi järgmise koodiga:

  • M – 000.
  • A-001.
  • ja 010.
  • L-011.
  • Tühik – 101, siis saate järgmise:

MOM SEEP LAMU → 000001000001101000010011001101011001000100

See teade on 42 bitti pikk. Kuigi see on pikem kui esimene, mis on vaid 22 bitti, on seda palju lihtsam dekodeerimiseks üksikuteks sõnadeks sõeluda:

000 001 000 001 101 000 010 011 001 101 011 001 000 100

M A M A M Y L A   L A M U 

Kuigi sellist ühtset koodi ei saa nimetada säästlikuks, saab seda üheselt dekodeerida.

Video tähtede teisendamisest kahendkoodiks

Ebaühtlased koodid

Ebaühtlane kahendkood – mis see on? Mõnikord kasutatakse seda sõnumite pikkuse lühendamiseks. Ebaühtlases koodis võib tähestiku teatud tähemärgile vastav koodsõna pikkuselt erineda teistest sõnadest.

Näiteks kui kasutate fraasi "Ema seebistas laama" kodeerimiseks järgmist koodi:

  • M-01.
  • A-00.
  • ja 1011
  • L – 100.
  • U – 1010.
  • Ruum – 11, selgub:

MOM SEEP LAMU → 0100010011011011100001110000011010

See teade koosneb 34 bitist. Seda bitistringi saab üheselt dekodeerida, sest esimeses tähes – M, millel on kood 01, on kood kordumatu, kuna teised koodisõnad ei alga 01-ga. Samamoodi saate määrata teise tähe – A. Atribuuti, mille puhul koodisõnad ei ühti teiste koodisõnade algusega, nimetatakse Fano tingimuseks ja Fano atribuudi abil dekodeeritud koode nimetatakse prefiksikoodideks.

Prefikskoodidel on oluline praktiline tähendus – nende abiga dekodeeritakse saabunud sõnumite tähemärgid nende saabumisel, ootamata, kuni kogu sõnum adressaadini jõuab.

Binaarsete koodide tüübid

Täisarvude esitamiseks on olemas järgmist tüüpi kahendkoodid:

  • Ikooniline.
  • Allkirjata.

Negatiivseid numbreid saab esitada ainult märgistatud kujul. Täisarvud salvestatakse arvutisse fikseeritud punkti vormingus.

Signeerimata koodid

Täisarvulistes märgita kahendkoodides esitatakse kõik kahendnumbrid astmega 2:

Teabe tõlkimine kahendkoodiks - mis see on, selle tüübid, dekodeerimine

Väikseima võimaliku arvu väärtus on null ja maksimum määratakse järgmise valemiga:

Teabe tõlkimine kahendkoodiks - mis see on, selle tüübid, dekodeerimine

Need kaks numbrit määratlevad kahendkoodis esitatud arvude vahemiku.

  • Kui esitatakse kaheksakohaline märgita täisarv, siis kirjutatakse numbrite vahemik koodiga: 0…255.
  • Kuueteistkümnekohalise koodi esitamisel – 0 … 65535.

Kaheksabitistes protsessorites salvestatakse sellised numbrid kahte mälulahtrisse, mis asuvad kõrvuti asetsevates aadressides. Selliste numbritega töötamine toimub spetsiaalsete käskude abil.

Märgikoodid

Otseste täisarvudega koodides esitatakse numbri märk sõna kõige olulisema numbri abil. Otsese märgikoodi puhul kasutatakse nulli märgi „+" tähistamiseks ja ühte märgi „-” tähistamiseks. Märgibiti sisestamine nihutab arvude vahemikku negatiivsete väärtuste suunas.

  • Kahekordne kaheksabitine märgiga täisarv kirjutatakse järgmises vahemikus: -127…+127.
  • Kuueteistkümnekohaline kood kirjutatakse vahemikku -32767…+32767.

Kaheksabitistes protsessorites on sellised numbrid salvestatud ka kahte mälulahtrisse, mille aadressid asuvad kõrvuti.

Selle koodi puuduseks on vajadus märgi- ja digitaalbittide eraldi töötlemiseks. Selliste algoritmidega töötavad programmid on üsna keerulised. Märgibiti valimiseks ja muutmiseks peate rakendama biti maskeerimismeetodit, mis toob kaasa programmi suuruse suurenemise ja selle jõudluse vähenemise. Digitaalsete ja märgibittide töötlemise algoritmi erinevuste vältimiseks kasutatakse vastupidiseid binaarkoode.

Erinevus märgiga pöördbinaarkoodide ja otseste koodide vahel seisneb negatiivsete arvude moodustamises kõigi arvubittide ümberpööramise teel. Digi- ja märgibitid aga ei erine. Sellised koodid võivad töö algoritmi oluliselt lihtsustada.

Kuid vaatamata sellele nõuab pöördkoodidega töötamine märkide äratundmiseks, arvude absoluutväärtuste arvutamiseks ja arvu tulemuse märgi taastamiseks spetsiaalset algoritmi. Samuti nõuab arvu otsene pöördkood nulli meeldejätmiseks kahe koodi kasutamist ajal, mil on teada, et null on positiivne ja see ei saa kunagi olla negatiivne.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem