[x0,…] + [y0,…] = [z0,…]
mathend000#
Hilfsvariablen:
[c0,…]
mathend000# =
mathend000# Überträge
- Anfang:
HALFADD(x0, y0;z0, c0)
mathend000#
- Schritt:
∀i : FULLADD(xi, yi, ci;zi, ci+1)
mathend000#
- Ende: cw = 0
mathend000# (kein Überlauf)
Realisierung:
-
HALFADD(x, y;z, c)(z↔xor(x, y))∧(c↔x∧y)
mathend000#
-
FULLADD(x, y, c;z, c')...
mathend000#
(zweimal
HALFADD
mathend000#)
dafür CNF ohne Hilfsvariablen!
2014-03-31