2012-03-24 3 views
0
https://electronics.stackexchange.com/questions/20537/how-to-identify-self-complementing-code

самостоятельно выполняя код

Я прочитал, что правильно,

, но это необходимо, чтобы число нужно вычесть из 9?

потому, что в системе 8421 12 = 1100

и если вычесть 15-12, то ответ 3, который является 0011.

поэтому она также самостоятельно дополняя ...

Я не понимаю, что данное число нужно вычесть из, число которых, является то, что число будет необходимому 9 ???

ответ

0

Самостоятельно код для дополнени Base-10 представляет собой код, для которого дополнение заданных кодированных цифр д [0-9] приведет к 9-ю, 9 с дополнением.

Чтобы кодировать номера Base-10 в двоичном формате, мы должны иметь возможность представлять 10 значений [0-9], что означает, что нам требуется 4 бита, потому что 3 бита могут представлять 8 значений, которых недостаточно; 4 бита могут представлять 16 значений, что больше, чем нам нужно, но мы не имеем (или не хотим) дробных битов.

Существует множество схем кодирования в пределах этих 4 бит, наиболее интуитивным из которых является схема 8-4-2-1 или прямое двоичное кодирование десятичного значения. Чтобы кодировать 12, используя 8-4-2-1, вы отдельно кодируете [1] и [2] как их соответствующие двоичные представления [0001] и [0010].

Дополнение 9 является релевантным в контексте двоичного кодирования десятичных/базовых 10 чисел, поскольку 9 является наибольшим значением, необходимым при кодировании чисел Base-10.

В вашем примере подразумевается Base-16, отображаемый как десятичный, для которого вы правильно генерируете дополнение 15, а не дополнение 9. 8-4-2-1 является интуитивно самодополняющим кодом для Base-16, потому что взятие дополнения из 4-значного двоичного числа совпадает с вычитанием его из 15.

То же самое нельзя сказать о Base- 10 представлены таким же образом, потому что мы представляем только 10 значений в 16-разрядном кодовом пространстве, поэтому было разработано несколько более сложных систем для генерации самодополняющих кодов для представления десятичных чисел в четырехзначных двоичных числах.

Таблица 13.1 здесь: [http://www.inf.fu-berlin.de/lehre/WS00/19504-V/Chapter1.pdf] показывает два самодополняющих кода для десятичного кодирования, а именно схемы кодирования 8,4, -2, -1 и избыточного 3, а последующий раздел описывает цель и теорию -дополнение кодов.

0

Некоторые перефразировкой разъяснений: IIRC это означает, что, когда видно число вычитается из 9, «число» кодирования является бит инвертируется, т.е. вычитается из 15.

можно кодировать, например, 0 = 0011, 1 = 0100, 2 = 0101, ..., 9 = 1100 (так называемый избыток-3, см. Ответ modi).

1

Если сумма весов равна 9, то она является самодостаточной например 5211 = (5 + 2 + 1 + 1) = 9 или 2421 = (2 + 4 + 2 + 1) = 9 8421 не является самодостаточным, поэтому 8421! = 9.

Смежные вопросы