Preden si ogledamo seštevanje negativnih dvojiških števil, si bomo ogledali seštevanje pozitivnih dvojiških števil. V bistvu uporabljamo enake metode seštevanja, kot pri seštevanju običajnih desetiških številk, le da so pravila preprostejša, saj lahko seštevamo le dve različni števki!
Verjetno že poznaš seštevanje po stolpcih. Če želimo na primer seštevi desetiški številki 128 in 255, bomo uporabili metodo seštevanja po stolpcih, kot je prikazana spodaj.
Ko seštejete 8 + 5, je rezultat večji kot 9, zato zapišete vrednost 3 v stolpec enic, vrednost 1 pa prenesete v stolpec desetic. Dvojiško seštevanje deluje na povsem enak način.
Če želimo sešteti dve pozitivni dvojiški števili, kot sta na primer 00001111 in 11001110 lahko uporabimo isto metodo seštevanja po stolpcih. Vedeti moramo samo, koliko je 0 + 0, 0 + 1, 1 + 0, 1 + 1 in še 1 + 1 + 1. Prve tri vsote so točno to, kar pričakujemo. Seštevanje 1 + 1 povzroči prenosno številko, saj je v dvojiškem sistemu 1 + 1 = 10, kar se pri seštevanju po stolpcih prevede na »0, prenos 1«. Zadnja vsota, 1 + 1 + 1 je v dvojištem sistemu enaka 11, kar lahko izrazimo kot »1, prenos 1«. Seštevanje gornjih dveh pozitivnih dvojiških števil si lahko ogledate spodaj.
Seštevanje negativnih dvojških števil z bitom za predznak ne deluje. Če želimo, na primer sešteti +11 (01011) in -7 (10111), pričakujemo, da bo rezultat +4 (00100).
Rezultat predstavlja število -2.
Eden od načinov, s katerim bi lahko rešili težavo, je uporaba odštevanja po stolpcih. Vendar bi za to operacijo računalnik potreboval drugačno vezje. Na srečo to ni potrebno, saj seštevanje samodejno deluje, če uporabimo predstavitev negativnih dvojiških števil z dvojiškim komplementom!
Gornjo vsoto (+11 + -7) lahko izračunamo tako, da najprej pretvorimo številki v 5-bitno predstavitev z dvojiškim komplementom. Ker je 01011 (+11) pozitivno število, ga ni treba spreminjati. Negativno števil (-7) pa moramo spremeniti v predstavitev z dvojiškim komplementom, zato po pretvorbi v to obliko dobimo 11001.
Seštejmo gornji dve števili.
Odvečni bit na levi strani (razen 5 bitov, ki jih uporabljamo v tem primeru) smo izpustili. Tako smo dobili 00100, kar je 4 oziroma ravno tisti rezultat, ki smo ga pričakovali.