Seštevanje dvojiških števil

Polni seštevalnik

Če želimo, da bo logično vezje seštevalnika dveh dvojiških števk delovalo pravilno, moramo upoštevati tudi morebitni prenos iz prejšnjega stolpca. Tako dobimo logično vezje polnega seštevalnika (ang. full adder). Pri tem najprej seštejemo obe dvojiški števki, potem rezultatu prištejemo morebitni prenos iz prejšnjega stolpca in tako dobimo novo vsoto. Poleg tega moramo pogledati še, ali je pri katerem koli od obeh prištevanj prišlo do prenosa, saj to pomeni, da moramo vrednost 1 prenesti v naslednji stolpec.


Polni seštevalnik tako postane osnovna enota. Če želimo na primer sešteti dve 4-bitni števili, moramo zaporendo združiti 4 polne seštevalnike tako, da je prenos iz prejšnjega polnega seštevalnika $Cout$ povezan z naslednjim polnim seštevalnikom preko vhoda $Cin$. Zadnji $Cout$ v tej verigi povezanih polnih seštevalnikov, ki ga povežemo na prekoračitev (ang. overflow flag – V), pa sporoča, da je vsota prevelika za predstavitev z danim številom bitov – v tem primeru gre za 4 bite. Prekoračitev bi v tem primeru sporočala, da vsote ne moremo predstaviti s 4 biti, ampak jih potrebujemo več.

Če potrebujemo seštevalnik za seštevanje večjih dvojiških števil oziroma dvojiških števil, ki so predstavljena z več biti, potem enostavno na enak način naprej verižimo polne seštevalnike. V preteklosti in sedaj so se oziroma se še uporabljajo 8-bitni, 16-bitni, 32-bitni ali 64-bitni polni seštevalniki – odvisno od arhitekture sistema.