Dodawanie dwóch liczb dwubitowych A=112 i B=112 należy rozumieć bitowo:
- dla najmłodszego bitu: 1 + 1 = 0 i powstaje przeniesienie (carry) = 1,
- dla starszego bitu: 1 + 1 + przeniesienie 1 = 1 i ponownie powstaje przeniesienie = 1.
Dlatego wynik końcowy to 1002: dwa bity sumy są równe 0, a najbardziej znaczący bit jest przeniesieniem końcowym.
W praktyce taki układ realizuje się jako sumator zbudowany z bramek, gdzie:
- bity sumy są funkcją "różnicową" (typowo realizowaną jak XOR na odpowiednich wejściach),
- przeniesienie jest funkcją "większościową" (typowo realizowaną z użyciem AND/OR oraz uwzględnia przeniesienie z poprzedniego bitu).
Aby wskazać uszkodzoną bramkę, wykonuje się diagnostykę logiczną: dla zadanych wejść ustala się oczekiwane stany na kolejnych węzłach (najpierw przeniesienie z młodszego bitu, potem suma starszego bitu i przeniesienie końcowe) i porównuje z tym, co musi wynikać z topologii połączeń na schemacie.
Jeżeli układ ma dać 1002, to element(y) odpowiedzialne za przeniesienia muszą doprowadzić "1" do najbardziej znaczącego wyjścia, a jednocześnie ścieżki generujące dwa młodsze bity sumy muszą dać "0". Na przedstawionym schemacie tylko bramka oznaczona numerem 3 wprowadza sprzeczność względem tych warunków (jej wyjście musiałoby przyjąć inny stan, aby wynik był 1002), podczas gdy działanie pozostałych bramek da się pogodzić z oczekiwanym przebiegiem przeniesień i sum.
Dlaczego pozostałe wskazania są błędne? Jeśli niespójność nie pojawia się na wyjściach/węzłach zależnych od danej bramki, to jej uszkodzenie nie tłumaczy jednocześnie: (1) obecności przeniesienia końcowego oraz (2) wyzerowania dwóch młodszych bitów. Typowym błędem jest też nieuwzględnienie przeniesienia między bitami: wtedy student oczekuje 102 zamiast 1002 i wskazuje niewłaściwy element.
Wskazówka egzaminacyjna: zawsze zaczynaj od ręcznego dodania binarnego i dopiero potem śledź przeniesienie od najmłodszego bitu ku wyjściu najbardziej znaczącemu.