KWALIFIKACJA ELM5 - CZERWIEC 2023

PYTANIE NR 3.
Która z poniższych liczb nie jest zapisem w kodzie BCD8421?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W kodzie BCD8421 każda cyfra dziesiętna jest kodowana osobno w 4 bitach i może przyjmować tylko wartości 0000–1001 (0–9).
Wzorce 1010–1111 są niedozwolone. Zapis 11111111 ma w obu niblach wartość 1111, więc nie jest poprawnym BCD8421, podczas gdy pozostałe bajty dają poprawne nible (np. 0110=6, 1001=9).

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kod BCD8421 to sposób zapisu cyfr dziesiętnych w postaci binarnej, gdzie każda cyfra 0–9 zajmuje 4 bity (wagi 8-4-2-1). Stosuje się go m.in. w licznikach, zegarach cyfrowych i przy sterowaniu wyświetlaczami 7-segmentowymi.
Podziel bajt na dwa nible po 4 bity. Każdy nibel musi odpowiadać cyfrze 0–9, czyli być w zakresie od 0000 do 1001. Jeśli w którymkolwiek niblu pojawi się wzorzec 1010–1111, zapis nie jest poprawnym BCD8421.
W BCD8421 nibel ma kodować tylko cyfry dziesiętne 0–9. Wzorzec 1111 ma wartość 15 (8+4+2+1), a cyfra "15" nie istnieje jako pojedyncza cyfra dziesiętna. Dlatego 1111 należy do grupy kodów niedozwolonych 1010–1111.
Tak, bo po podziale na nible otrzymujesz 0000 i 0000. Każdy z nich oznacza cyfrę 0, więc cały bajt może reprezentować dwucyfrowy zapis "00". To typowy przykład poprawnego BCD, często spotykany jako stan początkowy liczników.
Nibel 0110 ma wartość 6, więc oznacza cyfrę 6. Nibel 1001 ma wartość 9, więc oznacza cyfrę 9. W BCD interpretujesz je zawsze jako pojedyncze cyfry, a nie jako fragmenty jednej liczby binarnej.
Nie. W zapisie binarnym kodujesz całą liczbę jako jedną wartość (np. 25 = 11001). W BCD8421 kodujesz każdą cyfrę osobno (25 = 0010 0101). To różne reprezentacje i prowadzą do innych wzorców bitowych.
Najczęściej: brak podziału na nible, ocenianie całego bajtu jako jednej liczby 0–255 oraz ignorowanie faktu, że w BCD dozwolone są tylko kody 0–9. Częsty jest też błąd "intuicyjny": uznanie, że 1111 jest poprawne, bo wygląda na "pełną jedynkę".
To zależy od konkretnego układu. Część dekoderów dla kodów 1010–1111 generuje "pusty" znak, część wyświetla nieokreślony wzór, a niektóre mają zdefiniowane zachowanie w nocie katalogowej. Na egzaminie zwykle przyjmuje się, że są to stany niepoprawne BCD.
Najczęściej w układach licznikowych i zegarach (sekundy, minuty), w klawiaturach numerycznych, w prostych interfejsach użytkownika oraz w torach wyświetlania liczb na 7-segmentach. Ułatwia to bezpośrednie mapowanie cyfry na segmenty lub na dekoder BCD–7seg.
Szybka metoda: sprawdź każdy nibel. Jeśli zaczyna się od "1", to dozwolone są tylko 1000 (8) i 1001 (9). Gdy widzisz 1010, 1100 lub 1111, od razu wiesz, że to niedozwolone w BCD8421.
info

Około 61% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "W kodzie BCD8421 każda cyfra dziesiętna jest kodowana osobno w 4 bitach i może przyjmować tylko wartości 0000–1001 (0–9).Wzorce 1010–1111 są niedozwolone."

Źródła:

  • M. Morris Mano, Charles R. Kime, "Logic and Computer Design Fundamentals", rozdział o kodach liczbowych i kodzie BCD (Numeric Codes / BCD), Pearson (kolejne wydania).
  • Thomas L. Floyd, "Digital Fundamentals", rozdział dotyczący reprezentacji danych i kodu BCD (Data Codes / BCD), Pearson (kolejne wydania).
  • R. J. Tocci, N. S. Widmer, G. L. Moss, "Digital Systems: Principles and Applications", sekcja o kodach BCD i kodach dziesiętnych (BCD Codes), Pearson (kolejne wydania).

Materiały:

  • Podręczniki z techniki cyfrowej (dział: kody liczbowe i BCD)
  • Notatki/ćwiczenia z konwersji: dziesiętny ↔ BCD8421
  • Karty katalogowe dekoderów BCD–7-segmentowych (opis stanów wejść i zachowania dla kodów niedozwolonych)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego