Viktad kodning hjälper till med binära konverteringar.
Bildkredit: leszekglasner/iStock/Getty Images
De digitala kretsarna du ser inuti datorer och andra elektroniska enheter kan bara kommunicera via två koncept: på och av. Dessa begrepp representeras för oss i form av binär numrering, där 0 är av och 1 är på. För att verkligen kommunicera med en dator krävs ytterligare konverteringar för att få datorspråket till ett mer mänskligt format. Det första steget i konverteringsprocessen är att konvertera binär kodning till ett mer läsbart decimalsystem. Viktad och icke-viktad kodning hänvisar till metoden där binära tal omvandlas till decimaltal. Med viktad kodning tilldelas varje siffra i ett nummer ett viktat värde före konverteringen. Icke-vägda kodningsmetoder använder lite varierade formler men utför konverteringarna utan viktvärdet.
Innan du förstår viktad kodning måste du först förstå numreringssystem och positionsbeteckning.
Dagens video
Numreringssystem
Numreringssystem indikeras med en bas, vilket är det högsta nummer du kan räkna till innan du behöver lägga till ytterligare en siffra. Till exempel kallas numreringssystemet vi alla lär oss som barn bas 10, eftersom de första tio talen i sekvensen, 0 till 9, kan räknas med ensiffriga siffror. När du kommer till 10 måste du flytta över allt och räkna i tvåsiffriga tal tills du kommer till 100, och sedan räkna i tresiffriga tal. Detta bas 10-system kallas också för decimalsystemet.
Positionsbeteckning
Positionsnotation uppstår när du tilldelar ett positionsvärde till varje siffra i ett reellt tal, från höger till vänster. För talet 4782, till exempel, börjar med 2:an och räknar från höger till vänster, är positionerna 0, 1, 2, 3 enligt följande:
4782 = nummer 3210 = positionsvärden
Viktad kodning
I exemplet ovan kan positionstilldelningarna 0 till 3 vara de viktade värdena för deras tilldelade siffror. Så vikten av 4:an är 3 och vikten av 7:an är 2. Vikten av ett tal spelar in när man konverterar från valfritt basnumreringssystem till decimalsystemet (bas 10). En formel för att konvertera ett viktat tal är att multiplicera varje siffra med dess bas till potensen av dess position och sedan lägga till alla resulterande siffror. I exemplet nedan omvandlas 100101, som är ett binärt bastal 2, till ett decimaltal (bastal 10).
100101 = Binärt (bas 2) tal 543210 = positionsvikter (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 37bas10 = decimalomvandling
Andra viktade metoder inkluderar BCD och 2421, som var och en använder en liknande formel för att tilldela vikter och konvertera till decimal.
Icke-vägd kodning
Gråkod är en icke-viktad kodningsmetod som ändrar bara en bit i ett binärt tal när man flyttar från ett decimaltal till nästa. I normal binär kodning skulle siffrorna 10 representera decimaltalet 2. När du använder grå kod ändras en bit av det binära talet så att decimaltalet 2 representeras av de binära siffrorna 0011. Sekventiellt omvandlas nu decimaltalet 3, som normalt skulle representeras av de binära siffrorna 0011, till 0010, eftersom endast en bit kan ändras.
Excess-3 är en annan icke-viktad kodningsmetod och användes en gång i äldre datorer och tilläggsmaskiner. Med överskott-3 lägger du till 3 till ett decimaltal innan du konverterar det till binärt. Så decimaltalet 2, till exempel, skulle först öka med 3, vilket gör det till 5. Den binära konverteringen av 2 med Excess-3-metoden skulle vara 0101 istället för dess normala binära värde på 0010.