Kod BCD8421 (Binary Coded Decimal w wersji "8421") służy do zapisu cyfr dziesiętnych, a nie całych liczb dziesiętnych jako jednej wartości binarnej. Najważniejsza zasada brzmi: jedna cyfra dziesiętna = 4 bity (tzw. nibel). Oznaczenie "8421" przypomina, że bity w niblach mają wagi 8, 4, 2, 1.
W praktyce oznacza to, że poprawne kody dla jednej cyfry to tylko:
- 0000 dla 0
- 0001 dla 1
- …
- 1001 dla 9
Wszystkie wzorce od 1010 do 1111 nie reprezentują żadnej cyfry dziesiętnej w BCD8421, więc są stanami niedozwolonymi.
Dla podanych ośmiobitowych zapisów należy rozdzielić bajt na dwa nible (starszy i młodszy) i sprawdzić każdy z nich osobno:
- 11111111 → 1111 i 1111. Każdy nibel ma wartość 15, czyli wzorzec niedozwolony w BCD8421. Dlatego ten zapis nie jest BCD8421.
- 01100110 → 0110 i 0110. Wzorzec 0110 odpowiada cyfrze 6, więc oba nible są poprawne (zapis "66" w BCD).
- 10011001 → 1001 i 1001. Wzorzec 1001 odpowiada cyfrze 9, więc oba nible są poprawne (zapis "99" w BCD).
- 00000000 → 0000 i 0000. Wzorzec 0000 odpowiada cyfrze 0, więc oba nible są poprawne (zapis "00" w BCD).
Typowa pułapka na egzaminie polega na tym, że uczeń traktuje cały bajt jako liczbę binarną (np. 11111111=255) i próbuje oceniać "poprawność" w tym sensie. W BCD oceniamy jednak, czy każde 4 bity mieszczą się w zakresie 0–9. Jeśli choć jeden nibel jest z zakresu 10–15, to cały zapis (dla tej pozycji cyfry) jest niepoprawny.