Какво е претеглено и непретеглено кодиране?

Абстрактен фон на двоичен код

Претегленото кодиране помага при двоични преобразувания.

Кредит на изображението: leszekglasner/iStock/Getty Images

Цифровата схема, която виждате в компютрите и други електронни устройства, може да комуникира само чрез две концепции: включване и изключване. Тези понятия ни се представят под формата на двоично номериране, където 0 е изключено, а 1 е включено. За да общувате истински с компютър, са необходими допълнителни преобразувания, за да приведете компютърния език в по-човешки формат. Първата стъпка в процеса на преобразуване е преобразуването на двоичното кодиране в по-четлива десетична система. Претегленото и непретеглено кодиране се отнася до метода, при който двоичните числа се преобразуват в десетични. При претегленото кодиране на всяка цифра в числото се присвоява претеглена стойност преди преобразуването. Методите за непретеглено кодиране използват леко различни формули, но извършват преобразувания без стойността на теглото.

Преди да разберете претегленото кодиране, първо трябва да разберете системите за номериране и позиционната нотация.

Видео на деня

Системи за номериране

Системите за номериране се обозначават с основа, което е най-високото число, до което можете да броите, преди да се наложи да добавите друга цифра. Например системата за номериране, която всички научаваме като деца, се нарича база 10, тъй като първите десет числа в последователността, от 0 до 9, могат да бъдат преброени с помощта на единични цифри. След като стигнете до 10, трябва да прехвърлите всичко и да броите в двуцифрени числа, докато стигнете до 100, а след това да преброите в трицифрени числа. Тази система с основа 10 се нарича още десетична система.

Позиционна нотация

Позиционната нотация се получава, когато присвоите позиционна стойност на всяка цифра в реално число, отдясно наляво. За числото 4782, например, като се започне с 2 и се брои отдясно наляво, позициите са 0, 1, 2, 3, както е показано по-долу:

4782 = число 3210 = позиционни стойности

Претеглено кодиране

В примера по-горе, позиционните присвоения от 0 до 3 могат да бъдат претеглените стойности на присвоените им цифри. Значи теглото на 4 е 3, а теглото на 7 е 2. Теглото на числото влиза в игра при преобразуване от която и да е основна система за номериране в десетична (основа 10) система за номериране. Една формула за преобразуване на претеглено число е да умножите всяка цифра по нейната основа до степента на нейната позиция и след това да добавите всички получени цифри. В примера по-долу 100101, което е двоично число с основа 2, се преобразува в десетично (основа 10) число.

100101 = Двоично (база 2) число 543210 = позиционни тегла (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 = десетично преобразуване

Други претеглени методи включват BCD и 2421, всеки от които използва подобна формула за присвояване на тегла и преобразуване в десетична.

Непретеглено кодиране

Грей кодът е непретеглен метод за кодиране, който променя само един бит в двоично число при преминаване от едно десетично число към следващо. При нормално двоично кодиране цифрите 10 представляват десетичното число 2. Когато използвате сив код, един бит от това двоично число се променя, така че десетичното число 2 е представено от двоичните цифри 0011. Последователно десетичното число 3, което обикновено би било представено от двоичните цифри 0011, сега се преобразува в 0010, тъй като само един бит може да се промени.

Excess-3 е друг непретеглен метод за кодиране и някога е бил използван в по-стари компютри и машини за добавяне. С излишък-3 добавяте 3 към десетично число, преди да го преобразувате в двоично. Така десетичното число 2, например, първо ще се увеличи с 3, което ще го направи 5. Двоичното преобразуване на 2 с помощта на метода Excess-3 би било 0101 вместо нормалната му двоична стойност от 0010.