Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Двійково-десятковий код



План:


Введення

Переклад десяткових цифр у двійковій-десятковий код

Двійково-десятковий код ( англ. binary-coded decimal ), BCD, 8421-BCD - форма запису цілих чисел, коли кожен десятковий розряд числа записується у вигляді його четирехбітних двійкового коду.

Наприклад, десяткове число 311 10 буде записано в двійковій системі числення в двійковому коді як 1 0011 0111 2, а в двійковій-десятковому коді як 0011 0001 0001 BCD.


1. Переваги та недоліки

1.1. Переваги

  • Спрощено висновок чисел на індикацію - замість послідовного ділення на 10 вимагається просто вивести на індикацію кожен полубайт. Аналогічно, простіше введення даних з цифрової клавіатури.
  • Для дрібних чисел (як з фіксованою, так і з плаваючою комою) при переведенні в человекочітаемий десятковий формат і навпаки не втрачається точність.
  • Спрощені множення і ділення на 10, а також округлення.

З цих причин двійково-десятковий формат застосовується в калькуляторах - калькулятор в найпростіших арифметичних операціях повинен виводити в точності такий же результат, який підрахує людина на папері.


1.2. Недоліки

  • Вимагає більше пам'яті.
  • Ускладнені арифметичні операції. Так як в 8421-BCD використовуються тільки 10 можливих комбінацій 4-х бітового поля замість 16, існують заборонені комбінації бітів: 1010 (10 10), 1011 (11 10), 1100 (12 10), 1101 (13 10), 1110 ( 14 жовтня) і 1111 (15 10).

Тому, при додаванні і відніманні чисел формату 8421-BCD діють наступні правила:

  1. При додаванні двійково-десяткових чисел кожного разу, коли відбувається перенесення біта в старший півбайт, необхідно до півбайт, від якого стався перенесення, додати коригуючий значення 0110 (= 6 10 = 16 10 - 10 10: різниця кількостей комбінацій полубайта і використовуваних значень).
  2. При додаванні двійково-десяткових чисел кожного разу, коли зустрічається неприпустима для полубайта комбінація, необхідно до кожної неприпустимою комбінації додати коригуючий значення 0110 з роздільною здатністю переносу в старший півбайт.
  3. При відніманні двійково-десяткових чисел, для кожного полубайта, що отримав позику із старшого полубайта, необхідно провести корекцію, віднявши значення 0110.

Приклад операції додавання двійково-десяткових чисел:

Потрібно: Знайти число A = D + C, де D = 3927, C = 4856

Рішення: Уявімо числа D і C в двійково-десятковій формі:
D = 3927 10 = 0011 1001 0010 0111 BCD
C = 4856 10 = 0100 1000 0101 0110 BCD

Підсумовуємо числа D і С за правилами двійкової арифметики:

 *** 0011 1001 0010 0111 + 0100 1000 0101 0110 ___________________ = 1000 0001 0111 1101 - Двійкова сума + 0110 0110 - Корекція ___________________ 1000 0111 1000 0011 

'*' - Тетрада, з якої був перенесення в старшу тетраду

'**' - Тетрада із забороненою комбінацією бітів

У тетраду, позначену символом *, додаємо шістку, так як за правилами двійкової арифметики перенесення забрав із собою 16, а за правилами десяткової арифметики повинен був понести 10. У тетраду, позначену символом **, додаємо шістку і дозволяємо поширення переносу, так як комбінація бітів 1101 (що відповідає десятковому числу 13) є забороненою.



Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Десятковий роздільник
Десятковий роздільник
Код
QR-код
Код
Код ІАТА
Код Грея
ZIP-код
Код (значення)
© Усі права захищені
написати до нас
Рейтинг@Mail.ru