dodawanie liczb binarnych jest nieco dziwnym procesem i na początku może wydawać się nieco oszałamiające. Ale w rzeczywistości jest to bardzo podobne do dodawania liczb dziesiętnych, których uczymy się w ramach elementarnej matematyki – z oczywistym wyjątkiem, że pracujemy z dwiema cyframi, a nie dziesięcioma!
aby zacząć myśleć o dodawaniu w kategoriach binarnych, przyjrzyjmy się binarnemu dodawaniu dwóch wartości 1-bitowych-najprostszej formie dodawania, jaką możemy sobie wyobrazić:
powyższa tabela przedstawia podstawowe logiczne reguły dodawania binarnego. Liczby po lewej stronie tabeli reprezentują wartości binarne, które próbujemy dodać, a liczby po prawej oznaczają wynik tego dodania. To może mieć sens poza dziwną kolumną, która nagle się pojawiła!
kolumna carry oznacza wyniki, w których przekroczyliśmy kwotę, którą możemy przedstawić za pomocą tylko jednego bitu. Posiadanie dodatkowego bitu do reprezentowania tego działa jako mechanizm przenoszenia (lub przenoszenia) przekroczeń wartości do następnej kolumny jednostek (w binarnych kolumnach jednostek są to 1, 2, 4, 8… itd.) przy obliczaniu dodawania. Intuicyjnie, można myśleć o tym w ten sam sposób, że możemy „przenosić” wartości dziesiętne do ich następnej kolumny jednostkowej (1, 10, 1000… etc) przy ręcznym obliczaniu dodawania dziesiętnego.
ale co z implementacją tego jako sprzętu? Cóż, ponieważ metoda dodawania wykorzystuje podstawową logikę, może być skonstruowana jako obwód cyfrowy reprezentowany przez poniższy schemat blokowy.
ten obwód przyjmuje dwie 1-bitowe wartości binarne jako wejścia (a & B), wyprowadza wynik (R) i wartość carry (ponieważ carry jest wyjściem z wyniku, nazwiemy go 'carry out’ lub w skrócie Cout). Takie zachowanie definiuje „pół-dodawanie” – mechanizm umożliwiający wykonywanie 1-bitowego dodawania binarnego.