Kas yra svertinis ir nesvertinis kodavimas?

Abstraktus dvejetainio kodo fonas

Svertinis kodavimas padeda atlikti dvejetaines konversijas.

Vaizdo kreditas: leszekglasner/iStock/Getty Images

Skaitmeninė grandinė, kurią matote kompiuteriuose ir kituose elektroniniuose įrenginiuose, gali bendrauti tik dviem būdais: įjungti ir išjungti. Šios sąvokos mums pateikiamos dvejetainės numeracijos forma, kur 0 yra išjungta, o 1 yra įjungta. Norint iš tikrųjų bendrauti su kompiuteriu, reikia atlikti tolesnę konversiją, kad kompiuterio kalba būtų žmogiškesnė. Pirmasis konvertavimo proceso žingsnis yra dvejetainio kodavimo konvertavimas į lengviau skaitomą dešimtainę sistemą. Svertinis ir nesvertinis kodavimas reiškia metodą, kuriuo dvejetainiai skaičiai konvertuojami į dešimtainę. Naudojant svertinį kodavimą, kiekvienam skaičiaus skaitmeniui prieš konvertavimą priskiriama svertinė vertė. Nesvertinio kodavimo metoduose naudojamos šiek tiek skirtingos formulės, tačiau konversijos atliekamos be svorio reikšmės.

Prieš suprasdami svertinį kodavimą, pirmiausia turite suprasti numeravimo sistemas ir padėties žymėjimą.

Dienos vaizdo įrašas

Numeravimo sistemos

Numeravimo sistemos nurodomos baze, kuri yra didžiausias skaičius, kurį galite suskaičiuoti prieš pridėdami kitą skaitmenį. Pavyzdžiui, numeravimo sistema, kurią visi mokomės vaikystėje, vadinama bazine 10, nes pirmieji dešimt eilės skaičių nuo 0 iki 9 gali būti skaičiuojami naudojant pavienius skaitmenis. Kai pasieksite 10, turite pakeisti viską ir skaičiuoti dviženkliais skaičiais, kol pasieksite 100, o tada skaičiuokite triženkliais skaičiais. Ši bazinė 10 sistema dar vadinama dešimtaine sistema.

Padėties žymėjimas

Padėties žymėjimas atsiranda, kai kiekvienam tikrojo skaičiaus skaitmeniui priskiriate padėties reikšmę iš dešinės į kairę. Pavyzdžiui, skaičiui 4782, pradedant nuo 2 ir skaičiuojant iš dešinės į kairę, padėtys yra 0, 1, 2, 3, kaip nurodyta toliau:

4782 = skaičius 3210 = padėties reikšmės

Svertinis kodavimas

Aukščiau pateiktame pavyzdyje padėties priskyrimai nuo 0 iki 3 gali būti joms priskirtų skaitmenų svertinės reikšmės. Taigi 4 svoris yra 3, o 7 - 2. Konvertuojant iš bet kokios bazinės numeracijos į dešimtainę (10 bazinę) numeravimo sistemą, atsižvelgiama į skaičių svorį. Viena svertinio skaičiaus konvertavimo formulė yra padauginti kiekvieną skaitmenį iš jo bazės iki jo padėties laipsnio, o tada pridėti visus gautus skaitmenis. Toliau pateiktame pavyzdyje 100101, kuris yra dvejetainis 2 bazinis skaičius, konvertuojamas į dešimtainį (10 bazinį) skaičių.

100101 = dvejetainis (2 bazė) skaičius 543210 = padėties svoriai (1 x 2^5) + (0 x 2^4) + (0 x 2^3) + (1 x 2^2) + (0 x 2^1) ) + (1 x 2^0) = 32 + 0 + 0 + 4 + 0 + 1 = 37 37 bazė10 = dešimtainė konversija

Kiti svertiniai metodai apima BCD ir 2421, kurių kiekvienas naudoja panašią formulę svoriams priskirti ir konvertuoti į dešimtainę.

Nesvertinis kodavimas

Pilkas kodas yra nesvertinis kodavimo metodas, kuris keičia tik vieną dvejetainio skaičiaus bitą, kai pereina nuo vieno dešimtainio skaičiaus prie kito. Taikant įprastą dvejetainį kodavimą, skaitmenys 10 reiškia dešimtainį skaičių 2. Naudojant pilką kodą, vienas šio dvejetainio skaičiaus bitas pasikeičia, todėl dešimtainis skaičius 2 yra vaizduojamas dvejetainiais skaitmenimis 0011. Iš eilės dešimtainis skaičius 3, kuris paprastai būtų vaizduojamas dvejetainiais skaitmenimis 0011, dabar konvertuojamas į 0010, nes gali pasikeisti tik vienas bitas.

„Excess-3“ yra dar vienas nesvertinis kodavimo metodas ir kadaise buvo naudojamas senesniuose kompiuteriuose ir pridėjimo mašinose. Naudodami perteklinį 3 skaičių, prieš konvertuodami į dvejetainį skaičių, pridedate 3 prie dešimtainio skaičiaus. Taigi, pavyzdžiui, dešimtainis skaičius 2 pirmiausia padidėtų 3, todėl jis būtų 5. Dvejetainė 2 konversija naudojant Excess-3 metodą būtų 0101, o ne įprasta dvejetainė vertė 0010.