BCD: Porovnání verzí
Smazaný obsah Přidaný obsah
m wikitabulka |
tabulka: 10 uz tam vazne nepatri! :) + cela tabulka predelana a presunuta vyse + Čítače + varovani pred povazovanim BCD za hexa + pahyl |
||
Řádek 1:
'''Binary Coded Decimal''' (zkráceně '''BCD''', dvojkově reprezentované dekadické číslo) je způsob kódování celých dekadických čísel (hodnot) s využitím pouze dekadických [[číslice|číslic]] (0-9),
== Hodnoty ==
Jde o [[
<!--
|+ BCD kódování
▲{| class="wikitable" width="200px"
-->
! style="alig: left"; | BCD kód ▼
! colspan="3"| Přirozená hodnota
|-
! [[Dvojková soustava|bin]]
! [[Hexadecimální soustava|hexa]]
! dekadická
! dekadická
! zacyklení
! přetečení
|-
| 0000
| 0
| 0
| 0
| první hodnota,<br />umělé zacyklení zpět na 9
| -1<br />umělý převod z vyššího řádu
|-
| 0001
| 1
| 1
| 1
|
|
|-
| 0010
| 2
| 2
| 2
|
|
|-
| 0011
| 3
| 3
| 3
|
|
|-
| 0100
| 4
| 4
| 4
|
|
|-
| 0101
| 5
| 5
| 5
|
|
|-
| 0110
| 6
| 6
| 6
|
|
|-
| 0111
| 7
| 7
| 7
|
|
|-
| 1000
| 8
| 8
| 8
|
|
|-
| 1001
| 9
| 9
| 9
| poslední hodnota,<br />umělé zacyklení dál na 0
| +1<br />umělý přechod na vyšší řád
|-
| 1010
| A
| 10
| colspan="3"| neplatná hodnota▼
|-
| 1011
| B
▲| neplatná hodnota
| 11
| colspan="3"| neplatná hodnota▼
|-
| 1100
| B
▲| neplatná hodnota
| 12
| colspan="3"| neplatná hodnota▼
|-
| 1101
| C
▲| neplatná hodnota
| 13
| colspan="3"| neplatná hodnota▼
|-
| 1110
| D
▲| neplatná hodnota
| 14
| colspan="3"| neplatná hodnota▼
|-
| 1111
| F
▲| neplatná hodnota
| 15
| colspan="3"| neplatná hodnota
|}
== [[Čítač]]e ==
V praxi se BCD kód používá v úlohách zobrazování hodnot ze strojové [[paměť|paměti]] do lidsky čitelné podoby, tedy v situacích, kdy se hodnota v paměti mění, jako například v čítačích. Na rozdíl od plného hexa čísla se pro BCD kódování [[Sekvenční obvod|sekvenčním obvodem]] ještě uměle zavádí nové vazby zacyklení:
:a) v rámci zkráceného cyklu jednoho řádu z '''9''' rovnou na '''0''' dalšího cyklu, místo aby zafungovala přirozená hexa vazba až z '''A''',
:b) a s tím souvisí i umělé zajištění přesunu přírůstku '''+1''', [[přetečení]], z jednoho řádu na vyšší opět už z hodnoty '''9'''.
Navíc tyto vazby musí zafungovat i při odpočtu, tedy při snižování hodnoty v paměti o '''-1'''.
;Příklad: Číslo 29 se pomocí BCD kóduje jako "0010 1001", každá čtveřice bitů odpovídá jedné decimální číslici: Hexa zápis po BCD zakódování je '''29''', tedy už lidsky čitelný, ačkoli původní hexa zápis je '''0x1D'''.
== Varování ==
Že je číslo v paměti uchováno pomocí sekvence bitů, to je běžné. Ale že ale v BCD kódu, to už je podstatná apriorní informace: Bez její znalosti by se totiž číslo dalo chybně považovat za obyčejné hexa číslo, například '''0x29''', což je ovšem dekadická hodnota 41 = '''2'''x16<sup>1</sup> + '''9'''x16<sup>0</sup> ! Sama tato [[metainformace]], jak s uloženou hodnotou nakládat, není v paměti stroje uložená: Je na konstruktérovi, aby jí s hexa nezaměnil.
{{Pahýl - elektronika}}
[[Kategorie:Počítačová terminologie]]
|