Почему мы добавляем 6 в дополнение BCD?


10

Иногда, если сумма двух цифр <10, сложение BCD аналогично двоичному сложению.

Но иногда, если сумма> 9, результат требует коррекции. Это исправление + (0110).

Почему мы добавляем 6? Почему не какой-то другой номер? Я искал в Интернете, но я не понимаю.


Если вы хотите ссылки на этот вопрос, которые были заданы в прошлом:


Вы можете увидеть объяснение здесь
phuclv

Ответы:


20

Четыре двоичных числа насчитывают до 15 (1111), но в BCD мы используем только представления до 9 (1001). Разница между 15 и 9 равна 6. Если вы хотите, чтобы 9 + 1 давал 10, то есть 1 0000, вам нужно добавить 6, чтобы 1010 обернуть к 1 0000.

Если вы добавляете минуты, вы также добавляете 40 к времени, которое превышает 59 минут. Пример: 45 минут плюс 35 минут - это 80 минут. Исправление, добавьте 40, чтобы получить 120. Теперь вставьте двоеточие: 1:20. Один час двадцать минут. 40 - это разница между 100 и 1:00.


2
Слишком много голосов за очевидное и немного актуальное! Почему бы вам, ребята, не найти какой-нибудь сложный электронный дизайн ответа, который не имеет 11 голосов, и дать его один.
Каз

2
Хорошо, это новое голосование было явно просто вопреки моему комментарию.
Каз

1
Люди теперь реагируют на вас, когда вы идете по анти-тупому маршруту. LOL - ответный удар, проголосовав хе-хе
Энди aka

1

Это относится к дополнительному представлению чисел.

https://en.wikipedia.org/wiki/Two%27s_complement

Если вы хотите вычесть B из A (A - B), мы можем добавить (-B) к A альтернативно (A + (- B)).

Если сумма> 10, нам нужно 4 младших значащих цифры суммы для представления BCD, поэтому мы должны вычесть 10 из суммы.

Дополнение 2 к 10 в 5 битах равно (Ten = 01010), поэтому, когда мы хотим вычесть 10 из числа, мы можем добавить (-Ten) к числу, которое представляет в 2'-дополнении как (10110).

Добавление BCD похоже на 4-битный двоичный сумматор, что означает, что нам нужно 4 младших значащих бита (-Ten) {0110 = # 6}, чтобы сложить его в сумму.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.