Co to jest kodowanie ważone i nieważone?

Streszczenie tło kodu binarnego

Kodowanie ważone pomaga w konwersjach binarnych.

Źródło obrazu: leszekglasner/iStock/Getty Images

Obwody cyfrowe, które widzisz w komputerach i innych urządzeniach elektronicznych, mogą komunikować się tylko za pomocą dwóch koncepcji: włączenia i wyłączenia. Pojęcia te są nam przedstawiane w postaci numeracji binarnej, gdzie 0 jest wyłączone, a 1 włączone. Aby naprawdę komunikować się z komputerem, konieczne są dalsze konwersje, aby język komputera był bardziej ludzki. Pierwszym krokiem w procesie konwersji jest konwersja kodowania binarnego na bardziej czytelny system dziesiętny. Kodowanie ważone i nieważone odnosi się do metody, w której liczby binarne są konwertowane na dziesiętne. W przypadku kodowania ważonego, każdej cyfrze liczby przypisywana jest wartość ważona przed konwersją. Metody kodowania nieważonego wykorzystują nieco zróżnicowane formuły, ale przeprowadzają konwersje bez wartości wagi.

Zanim zrozumiesz kodowanie ważone, musisz najpierw zrozumieć systemy liczbowe i notację pozycyjną.

Wideo dnia

Systemy numeracji

Systemy numerowania są wskazywane przez podstawę, która jest najwyższą liczbą, do której można policzyć przed dodaniem kolejnej cyfry. Na przykład system liczbowy, którego wszyscy uczymy się jako dzieci, nazywa się podstawą 10, ponieważ pierwsze dziesięć liczb w sekwencji, od 0 do 9, można policzyć za pomocą pojedynczych cyfr. Gdy dojdziesz do 10, musisz wszystko przesunąć i liczyć w liczbach dwucyfrowych, aż dojdziesz do 100, a następnie liczyć w liczbach trzycyfrowych. Ten system o podstawie 10 jest również nazywany systemem dziesiętnym.

Notacja pozycyjna

Notacja pozycyjna występuje, gdy do każdej cyfry liczby rzeczywistej przypisuje się wartość pozycyjną, od prawej do lewej. Na przykład dla liczby 4782, zaczynając od 2 i licząc od prawej do lewej, pozycje to 0, 1, 2, 3, jak poniżej:

4782 = liczba 3210 = wartości pozycyjne

Kodowanie ważone

W powyższym przykładzie przypisania pozycyjne od 0 do 3 mogą być wartościami ważonymi przypisanych im cyfr. Więc waga 4 to 3, a waga 7 to 2. Waga liczby wchodzi w grę podczas konwersji z dowolnego podstawowego systemu liczbowego na system dziesiętny (podstawa 10). Jednym ze sposobów konwersji liczby ważonej jest pomnożenie każdej cyfry przez jej podstawę przez potęgę jej pozycji, a następnie dodanie wszystkich otrzymanych cyfr. W poniższym przykładzie liczba 100101, która jest liczbą binarną o podstawie 2, jest konwertowana na liczbę dziesiętną (o podstawie 10).

100101 = Liczba binarna (podstawa 2) 543210 = wagi pozycyjne (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 = konwersja dziesiętna

Inne metody ważone to BCD i 2421, z których każda używa podobnej formuły do ​​przypisywania wag i konwersji na dziesiętne.

Kodowanie nieważone

Kod Graya to nieważona metoda kodowania, która zmienia tylko jeden bit liczby binarnej podczas przechodzenia z jednej liczby dziesiętnej do następnej. W normalnym kodowaniu binarnym cyfry 10 reprezentują liczbę dziesiętną 2. Podczas korzystania z szarego kodu zmienia się jeden bit tej liczby binarnej, więc liczba dziesiętna 2 jest reprezentowana przez cyfry binarne 0011. Kolejno liczba dziesiętna 3, która normalnie byłaby reprezentowana przez cyfry binarne 0011, jest teraz konwertowana na 0010, ponieważ tylko jeden bit może się zmienić.

Excess-3 to kolejna nieważona metoda kodowania i była kiedyś używana w starszych komputerach i maszynach dodawanych. Z nadmiarem-3 dodajesz 3 do liczby dziesiętnej przed konwersją na binarną. Na przykład liczba dziesiętna 2 wzrosłaby najpierw o 3, co daje 5. Konwersja binarna 2 przy użyciu metody Nadmiar 3 wyniesie 0101 zamiast normalnej wartości binarnej 0010.