Бинарно кодирани децимални број
Бинарно кодирани децимални број (од енгл. Binary Coded Decimal, BCD) је код за запис децималних бројева. Заснован је на низу ћелија, од којих свака има по четири бита и представља једну децималну цифру. Пошто четири бита може да представи 16 вредности а за цифре је потребно 10 (0-9), шест комбинација се користе за предзнаке бројева и друге специјалне назнаке.
Овакав начин кодирања се махом користи код дигитрона.
Кодирање и декодирање
[уреди | уреди извор]Кодирање и декодирање БЦД-Кодова се врши цифру по цифру, према следећој табели:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 |
Пример: прелаз из децималног у БЦД број.
9 0 0 0 0 8 3
↓ ↓ ↓ ↓ ↓ ↓ ↓
1001 0000 0000 0000 0000 1000 0011
То јест: (9000083)10 = (1001000000000000000010000011)BCD
Пример: прелаз из БЦД у децимални број.
0111 1000 0000 0001 0010 0100 0110
↓ ↓ ↓ ↓ ↓ ↓ ↓
7 8 0 1 2 4 6
То јест: (0111100000000001001001000110)BCD = (7801246)10
Сабирање
[уреди | уреди извор]Рецимо да су дате две серије БЦД-ћелија anan-1...a0 и bnbn-1...b0. Приликом сабирања ове два низа ћелија се сабирају ћелију по ћелију, почев од оне са најмањим индексом. Уколико дође до прекорачења вредности 1111, сувишни битови се преносе на суседну ћелију са вишим индексом а тренутна се сабира са 6 (0110).
6 8 7 5 2 4 7
0 8 9 9 6 7 6 +
------------------------------------------
0110 1000 0111 0101 0010 0100 0111
0000 1000 1001 1001 0110 0111 0110 +
------------------------------------------
0111 0001 0000 1110 1000 1011 1101
+0110 +0110
------------------------------------------
0111 0111 0110 1110 1000 1011 1101
Након овог дела процеса на ред долази корекција, код које се такође полази од ћелије са најмањим индексом. Уколико нека ћелија има вредност већу од 9 (значи: 1010, 1011, 1100, 1101, 1110 или 1111), врши се корекција: та ћелија се сабира са бројем 6 (0110) а прекорачење се преноси на ћелију са вишим степеном.
0111 0111 0110 1110 1000 1011 1101
+0110
------------------------------------------
0111 0111 0110 1110 1000 1100 0011
+0110
------------------------------------------
0111 0111 0110 1110 1001 0010 0011
+0110
------------------------------------------
0111 0111 0111 0100 1001 0010 0011
------------------------------------------
7 7 7 4 9 2 3