Kaalutud kodeerimine aitab binaarsetel teisendustel.
Pildi krediit: leszekglasner/iStock/Getty Images
Arvutites ja muudes elektroonikaseadmetes kuvatav digitaalskeem saab suhelda ainult kahe kontseptsiooni kaudu: sisse ja välja. Need mõisted on meile esitatud kahendnumbrina, kus 0 on välja lülitatud ja 1 on sees. Arvutiga tõeliseks suhtlemiseks on vaja täiendavaid teisendusi, et viia arvutikeel inimlikumasse vormingusse. Teisendusprotsessi esimene samm on binaarkoodi teisendamine loetavamaks kümnendsüsteemiks. Kaalutud ja kaalumata kodeerimine viitab meetodile, mille abil kahendarvud teisendatakse kümnendarvuks. Kaalutud kodeerimisel omistatakse igale numbrile enne teisendamist kaalutud väärtus. Kaalumata kodeerimismeetodid kasutavad veidi erinevaid valemeid, kuid teostavad teisendusi ilma kaaluväärtuseta.
Enne kaalutud kodeerimise mõistmist peate kõigepealt mõistma nummerdamissüsteeme ja positsioonimärke.
Päeva video
Nummerdamissüsteemid
Nummerdamissüsteemid on tähistatud alusega, mis on suurim arv, milleni saate enne uue numbri lisamist arvestada. Näiteks nummerdamissüsteemi, mida me kõik lapsepõlves õpime, nimetatakse baasiks 10, kuna järjestuse kümmet esimest numbrit 0 kuni 9 saab loendada üksikute numbritega. Kui jõuate 10-ni, peate kõik ümber nihutama ja lugema kahekohaliste arvudena, kuni jõuate 100-ni, ja seejärel kolmekohaliste arvudena. Seda kümnendsüsteemi nimetatakse ka kümnendsüsteemiks.
Positsiooniline tähistus
Positsioonimärkimine toimub siis, kui määrate reaalarvu igale numbrile paremalt vasakule asukohaväärtuse. Näiteks numbri 4782 puhul, alustades 2-st ja lugedes paremalt vasakule, on positsioonid 0, 1, 2, 3 järgmiselt:
4782 = arv 3210 = asukohaväärtused
Kaalutud kodeerimine
Ülaltoodud näites võivad asukohamäärangud 0 kuni 3 olla neile määratud numbrite kaalutud väärtused. Seega on 4 kaal 3 ja 7 kaal 2. Arvu kaal tuleb mängu, kui teisendatakse mis tahes põhinumbrisüsteemist kümnendsüsteemi (alus 10) numeratsioonisüsteemi. Üks kaalutud arvu teisendamise valem on korrutada iga number selle baasiga selle asukoha astmega ja seejärel liita kõik saadud numbrid. Allolevas näites teisendatakse 100101, mis on kahendarvuline 2. põhiarv, kümnendarvuks (alus 10).
100101 = binaararv (alus 2) 543210 = positsioonikaalud (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 37base10 = kümnendkoha teisendus
Muud kaalutud meetodid hõlmavad BCD ja 2421, millest igaüks kasutab kaalude määramiseks ja kümnendarvuks teisendamiseks sarnast valemit.
Kaalumata kodeerimine
Hall kood on kaalumata kodeerimismeetod, mis muudab kahendarvus ühelt kümnendarvult teisele liikumisel ainult ühte bitti. Tavalises binaarses kodeerimises tähistavad numbrid 10 kümnendarvu 2. Halli koodi kasutamisel muutub selle kahendarvu üks bitt, nii et kümnendarvu 2 esindavad kahendnumbrid 0011. Järjestikku teisendatakse kümnendnumber 3, mida tavaliselt esindaksid kahendnumbrid 0011, nüüd 0010-ks, kuna muutuda saab ainult üks bitt.
Excess-3 on veel üks kaalumata kodeerimismeetod ja seda kasutati kunagi vanemates arvutites ja lisamismasinates. Liiga-3 puhul lisate enne kahendarvuks teisendamist kümnendarvuni 3. Näiteks kümnendnumber 2 suureneb kõigepealt 3 võrra, mis teeb sellest 5. 2 binaarne teisendus, kasutades meetodit Excess-3, oleks 0101 selle tavalise binaarväärtuse 0010 asemel.