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):
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),
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].
Warianty kodu
Z zależności od zastosowania, poszczególne cyfry mogą być kodowane w inny niż dwójkowo sposób, stąd rozróżnia się wiele wariantów BCD (dla uściślenia wersja podstawowa zwana jest też BCD 8421 lub NBCD):