Subtraktor

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Diagram logiczny subtraktora.
Borin to Ci, a Borout to Ci+1

Subtraktorcyfrowy Układ_kombinacyjny, który wykonuje operacje odejmowania dwóch (lub więcej) liczb dwójkowych.

Tak jak w przypadku sumatora, w ogólnych obliczeniach na wielobitowych liczbach, trzy bity biorą udział w wykonywaniu odejmowania dla każdego bitu różnicy: odjemna ( A_i ), odjemnik ( B_i ) i pożyczka od poprzedniego (mniej znaczącego) bitu ( C_i ). Wynikiem jest bit różnicy ( D_i ) i bit pożyczki (przeniesienie)  C_{i+1}. Operację wykonaną przez subtraktor, czyli A_i - B_i - C_i, można zapisać jako -2 C_{i+1} + D_i, gdzie:

D_i = A_i \oplus B_i \oplus C_i
 C_{i+1} = A_{i} < (B_{i} + C_{i}).

Subtraktory są implementowane zwykle wewnątrz sumatorów w celu zminimalizowania układu, gdy operacje wykonywane są na liczbach w kodzie uzupełnień do dwóch (ZU2), przez wprowadzenie przełącznika dodawanie/odejmowanie, który wykonuje odpowiednio przekazanie lub negację drugiego operandu:

-B = \bar{B} + 1 – wynika z definicji wyznaczania liczby przeciwnej do danej w ZU2
A - B = A + (-B) = A + \bar{B} + 1.

Zobacz też[edytuj | edytuj kod]