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

Двійковий код.

Символами і бінарними позначеннями, напр., білими і чорними полями або знаками 0 і 1, можна також кодувати (шифрувати) інші знаки, напр., букви літери) (знаки абетки), цифри (числа) і спеціальні знаки (напр., крапка, кома).

У пристроях для обчислень найчастіше застосовують натуральний двійковий код (BCN, aнгл. Binary Coded Natural = натуральний бінарний код = двійковий код). Можна представити будь-яке десяткове число у вигляді двійкового, використовуючи порозрядний запис - значення в розрядах для цифр до коми: 2° = 1; 21 = 2; 22 = 4; ... і після коми 21 = 0,5; 22 = 0,25; 23 = 0,125; ...

Приклад: Визначити десяткове число, яке відповідає двійковому числу 101,011 .

Рішення: 101,011 = 1 • 22 + 0 • 21 + 1 • 20 + 0 • 2-1 + 1 • 2-2 + 1 • 2-3 = 5,375.

Обчислення за допомогою двійкових чисел подібні до обчислень за допомогою десяткових чисел:

0 + 0 = 0 0 – 0 = 0 0 • 0 = 0 0 : 1= 0
1 + 0 = 1 1 – 0 = 1 1 • 0 = 0 1 : 1= 1
0 + 1 = 1 0 - 1 = -1 позика 0 • 1 = 0  
1+1=0 плюс перенос 1   1 – 1 = 0 1 • 1 = 1  

 

Двійкові числа можна додавати або віднімати порозрядно - так, як це роблять з десятковими числами, переносити 1 до наступного вищого розряду, якщо сума в даному розряді буде більшою ніж 1 і, відповідно, при відніманні позичати 1 з наступного вищого розряду, якщо від'ємник є завеликий.

Примноженні, як і для десяткових чисел, окремі часткові результати записують у зміщених - відповідно до множника – розрядах, а наступні результати додаються. Діленнявиконують в такій же послідовності, як для десяткових чисел, перевіряючи, скільки разів дільник поміщається в діленому.

За допомогою двійково-десяткового коду (BCD,aнгл. Binary Coded Decimal = десяткова система закодована двійковою)цифри від 0 до 9 можуть бути записані у двійковому вигляді, напр., цифрі 7 в коді 8-4-2-1відповідає двійкове число 0111, в коді 5-2-1-1-двійкове число 1011, а в коді 2-z-5-двійкове число 10001 (табл. 9.1).За допомогою 4 бітів (двійкових цифр) можна закодувати 16 знаків, напр., 16 чисел, за допомогою 3 бітів вже тільки 23 = 8 чисел. Для кодування 10 десяткових цифр, від 0 до 9 необхідно щонайменше 4 біти (одна тетрада, з грецького тетра = 4). Часто десяткові числа кодують за допомогою більш ніж 4 бітів, як у випадку коду 1-Z-10,в якому десятковому нулю відповідає 1 в нульовому розряді запису, десятковій одиниці - 1 в першому розряді запису, десятковій двійці - 1 в другому розряді запису і т.д. У табл. 9.1 представлено найуживаніші коди BCD.

Коди BCD з більш ніж 4 бітами для однієї десяткової декади надаються особливо там, де необхідно виявити помилки зчитування і передавання інформації. Наприклад, в коді 2-z-5 для кожної десяткової цифри мають бути передані два біти значенням 1 і три біти значенням 0. Помилка зчитування, напр., при ушкодженні діода, в трьох бітах - значення 1, може бути розпізнана автоматично, завдяки системі виявлення помилок. Коди, які для шифрування використовують більше бітів, ніж це необхідно, називають редундансними (redundance - надмірно). Редундансність застосовується для розпізнавання і автокорекції помилок.

 

Koди BCD Таблиця 9.1
Цифра десяткова Код 8-4-2-1 Код 2-4-2-1 Код 5-2-1-1 Код плюс 3 Код плюс 3 Код 2-z-5 Код 1-z-10
значення розряду 8 4 2 1 2 4 2 1 5 2 1 1 помилка помилка 7 4 2 1 0 9 8 7 6 5 4 3 2 1 0