I datorer , är all aritmetik görs i termer av logik . Ett par logiska grindar utgör halva huggorm . Ett par halva huggormar gör en full huggorm , och en rad fulla adderare utgör den mekanism som adderar två binära strängar . Hälften huggormar tar två ingångar och producera en summa och en carry . Full huggormar tar tre ingångar och producera en summa och en carry . All datoraritmetik bygger på dessutom , och alla dessutom är baserat på logiska operationer . För att förklara hela huggormar , börja med logiska grindar och arbeta upp . Instruktioner
1
Använd logiska grindar för att bygga en halv huggorm . Logiska grindar har två ingångar och producera en utsignal bestäms av vilken typ av grinden . En AND -grind har en 0 utgången om båda ingångarna är 1 . En XOR-grind har en utsignal på 0 när båda ingångarna är lika, och en utsignal från en när ingångarna är olika. Insignalen till en halv adderare går till både en och-grind och en XOR-grind . Utsignalen från XOR-grinden är " summan "-utgången på halv adderaren , och utmatningen från OCH-grinden är " carry "-utgången på halv adderaren .
2
Anslut två halv adderare tillsammans att göra en fullständig huggorm . Två av ingångarna går till första halvåret huggorm , och " sum " produktionen av den första halvan huggorm och den tredje ingången går till ingångarna på den andra halvan huggorm . Den " sum " utgången på den andra halvan huggorm blir " sum " utgång heladderare . "Carry " -utgångar från båda halv huggormar går till en ELLER-grind . En ELLER-grind har en utsignal på en om inte båda ingångarna är 0 . Utgången på ELLER -grinden blir " carry "-utgången på heladderare .
3
Gör en rad fullständiga adderare så länge som längden av de binära strängar du vill lägga till . Gör carry från varje heladderare gå till den tredje ingången på nästa heladderare . Den första heladderare behöver bara använda två av sina ingångar eftersom det inte finns någon tidigare skede , så ingen bära från ett tidigare skede , och bär från förra heladderare indikerar en overflow - ett nummer för stort för raden av fullt huggormar att hantera.