Vektet koding hjelper med binære konverteringer.
Bildekreditt: leszekglasner/iStock/Getty Images
De digitale kretsene du ser inne i datamaskiner og andre elektroniske enheter kan bare kommunisere via to konsepter: på og av. Disse konseptene er representert for oss i form av binær nummerering, der 0 er av og 1 er på. For å virkelig kommunisere med en datamaskin, er ytterligere konverteringer nødvendig for å bringe datamaskinspråket til et mer menneskelig format. Det første trinnet i konverteringsprosessen er å konvertere binær koding til et mer lesbart desimalsystem. Vektet og ikke-vektet koding refererer til metoden der binære tall konverteres til desimal. Med vektet koding blir hvert siffer i et tall tildelt en vektet verdi før konverteringen. Ikke-vektede kodingsmetoder bruker litt varierte formler, men utfører konverteringene uten vektverdien.
Før du forstår vektet koding, må du først forstå nummersystemer og posisjonsnotasjon.
Dagens video
Nummereringssystemer
Nummereringssystemer er angitt med en base, som er det høyeste tallet du kan telle til før du må legge til et annet siffer. For eksempel kalles nummersystemet vi alle lærer som barn grunntall 10, fordi de ti første tallene i sekvensen, 0 til 9, kan telles ved hjelp av enkeltsifre. Når du kommer til 10, må du flytte alt over og telle i tosifrede tall til du kommer til 100, og så teller du i tresifrede tall. Dette base 10-systemet kalles også desimalsystemet.
Posisjonsnotasjon
Posisjonsnotasjon oppstår når du tilordner en posisjonsverdi til hvert siffer i et reelt tall, fra høyre til venstre. For tallet 4782, for eksempel, starter med 2 og teller fra høyre til venstre, er posisjonene 0, 1, 2, 3 som i følgende:
4782 = tall 3210 = posisjonsverdier
Vektet koding
I eksemplet ovenfor kan posisjonstilordningene 0 til 3 være de vektede verdiene til de tildelte sifrene. Så vekten av 4 er 3 og vekten av 7 er 2. Vekten til et tall spiller inn når du konverterer fra et hvilket som helst grunnnummersystem til desimalnummersystemet (grunntall 10). En formel for å konvertere et vektet tall er å multiplisere hvert siffer med dets grunntall til potensen av dets posisjon, og deretter legge til alle de resulterende sifrene. I eksemplet nedenfor blir 100101, som er et binært grunntall 2, konvertert til et desimaltall (grunntall 10).
100101 = Binært (grunntall 2) tall 543210 = posisjonsvekter (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 = desimalkonvertering
Andre vektede metoder inkluderer BCD og 2421, som hver bruker en lignende formel for å tilordne vekter og konvertere til desimal.
Ikke-vektet koding
Grå kode er en ikke-vektet kodemetode som endrer bare én bit i et binært tall når man går fra ett desimaltall til det neste. I normal binær koding vil sifrene 10 representere desimaltallet 2. Når du bruker grå kode, endres en bit av det binære tallet slik at desimaltallet 2 er representert av de binære sifrene 0011. Sekvensielt blir desimaltallet 3, som normalt vil være representert av de binære sifrene 0011, nå konvertert til 0010, fordi bare den ene biten kan endres.
Excess-3 er en annen ikke-vektet kodemetode og ble en gang brukt i eldre datamaskiner og tilleggsmaskiner. Med overskytende 3 legger du til 3 til et desimaltall før du konverterer det til binært. Så desimaltallet 2, for eksempel, vil først øke med 3, noe som gjør det til 5. Den binære konverteringen av 2 ved bruk av Excess-3-metoden vil være 0101 i stedet for dens normale binære verdi på 0010.