Kod BCD

Dwa zegary pokazujące ten sam czas, po prawej wskazanie w BCD8421, na nim od lewej: godziny (dziesiątki i jedności), minuty (d. i j.) i sekundy (d. i j.); dziesiątki godzin kodowane są tylko dwoma najmłodszymi bitami (wskazanie nigdy nie jest większe od 2), a minut i sekund – trzema najmłodszymi (wskazanie nigdy nie jest większe od 5).

Kod BCD (ang. binary-coded decimal, czyli zapis dziesiętny kodowany dwójkowo[1] lub kod dwójkowo-dziesiętny[2]) – sposób zapisu liczby polegający na zakodowaniu kolejnych cyfr dziesiętnych tej liczby w systemie dwójkowym, przy użyciu tylko czterech młodszych bitów (zob. półbajt)[2]. Stosowany jest on głównie w elektronice i informatyce. Taki zapis pozwala na łatwą konwersję liczby do i z systemu dziesiętnego, jednak jego niedogodnością jest istniejąca nadmiarowość (wykorzystuje tylko 10 czterobitowych kombinacji z 16 możliwych).

Kod BCD jest obecnie stosowany głównie w urządzeniach elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach, miernikach cyfrowych) i w zastosowaniach finansowych informatyki (ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne zaokrąglanie).

We współczesnych komputerach używane są dwa sposoby zapisu liczb w kodzie BCD na ośmiobitowych bajtach (zob. oktet):

  1. użycie tylko czterech najmłodszych bitów do zapisu pojedynczej cyfry[1]; 4 starsze są wtedy ustawiane na jakąś konkretną wartość (np. 1111 jak w EBCDIC, 0011 jak w ASCII, czy 0000),
  2. zapis dwóch cyfr w każdym bajcie (bardziej znacząca w starszym półbajcie, a mniej znacząca w młodszym); jest to tak zwane spakowane BCD[1] (ang. packed BCD).

Wiele mikroprocesorów (w tym wszystkie wywodzące się od Intel 8080[3]) posiada rozkazy i tak zwane flagi umożliwiające dodawanie i odejmowanie liczb BCD w wersji spakowanej[2].

  1. a b c Syck 1994 ↓, s. 116.
  2. a b c Markowski, Rydzewski i Kruszyński 1989 ↓, s. 30.
  3. Syck 1994 ↓, s. 116-117.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy