Adding Binary Numbers

Adding binary numbers is easy and tedious. Computer Engineers need to know how to add binary numbers because the operation is a fundamental feature of all digital computers. Almost everything else a computer can do is built upon binary addition. Computer programmers who work at the hardware/software interface level also need knowledge of binary numbers.

The simplest case is adding two binary digits. Given that a binary digit, or 'bit', can only have the value 0 or 1, there are only four possible combinations of operators. We address the possibility of overflow by introducing a 'carry' digit as part of the result. Therefore, the result has 2 digits.

Operators      Result
X  Y       Carry    X + Y
0  0         0        0  
0  1         0        1  
1  0         0        1  
1  1         1        0  


The overflow, which we refer to as the carry digit, is simply carried forward to the next most significant digit in the operation.

We can write an expression like this:

  1 + 1 = 10 

and it makes sense as long as we realize that the digits are in base 2.

We could also write the previous expression as

01 + 01 = 10

because the leading zeroes have no impact on the magnitudes of the numbers.

Mastering 2 digit binary addition is important but in the context of computer engineering mastering 3 digits is probably more important. The 2 digit case is simply a special situation in which the third digit is zero. The three digit case has 8 possible combinations and 4 different outcomes. Here is the three digit case with all possible combinations and outcomes:

Operators        Result
X  Y  C     Carry    X + Y + C
0  0  0       0        0  
0  0  1       0        1  
0  1  0       0        1  
0  1  1       1        0  
1  0  0       0        1
1  0  1       1        0
1  1  0       1        0
1  1  1       1        1

Where X and Y are the traditional inputs to a digital adder circuit and C is the carry from a previous addition operation. The 3 bit addition operation is a staple of basic digital arithmetic implemented in CPU microcode

Next, let's look at a slightly more complicated example by adding numbers with multiple digits. We use the standard structure for adding base 10 numbers that many of us learned in elementary school. Keep in mind we are still in base 2 for all these examples. The strategy is to start with the rightmost, or least significant) digit and proceed from right to left.

+ 01001


The rightmost column (1+ 1) resulted in a carry, which is applied to the next column to the left (see above - now the reason for understand binary addition with 3 operands becomes clear). We can rewrite the expression with the carry row, which illustrates why understanding how to add 3 digits is so important.

  00010 (carry digits, generated during the add operation)
+ 01001

We see that adding two binary digits is actually an operation that involves the two original operands and the carry from the next most significant digit. The only instance that actually involved only two digits is the rightmost, or least significant, column.

Finally, let's perform a sanity check on the previous operation. Our work appears correct, but reading binary numbers can be problematic. A simple validation procedure is to convert the numbers to a more familiar base and verify the results.

10101 (base 2) = 16 + 4 + 1 = 21 (base 10)

01001 (base 2) = 8 + 1 = 9 (base 10)

21 + 9 = 30

11110 (base 2) = 16 + 8 + 4 + 2 = 30 (base 10)

We see that our base 10 result is the same as our base 2 result.

More by this Author

Comments 23 comments

allen 7 years ago

good knoweledge tnx...n_n

dennisematt 7 years ago

So, what do the X Y C mean in the operator ....coulmn?

you can erase this,cuz I know you may be trying to make money, but maybe email me? this is actually something I am interested in. Even though I am a gurl and not wearing any shoes...what do the numbers actually DO? In a computer.

nicomp profile image

nicomp 7 years ago from Ohio, USA Author

X Y and C are the two binary digits being added and the Carry. X + Y = n + c

nicomp profile image

nicomp 6 years ago from Ohio, USA Author

The poll needs more voters.

Ben Evans profile image

Ben Evans 6 years ago

This is nice. It brings back memories of 2's complement and Karnaugh maps.

Aneesh3 profile image

Aneesh3 6 years ago from India

Really helpful,Nicomp

earlean_joy 6 years ago

wow binary addition and subtraction is what we study about

kon 6 years ago

how about adding this,





+ 1


nicomp profile image

nicomp 6 years ago from Ohio, USA Author

1+1+1+1+1 = 5 in base 10 and 101 in base 2.

Daniel J Brereton profile image

Daniel J Brereton 6 years ago from New York, NY

This is a very good tutorial with good diagrams to explain the method of adding. However, I also think that it is quite an easy topic to grasp and not really worth writing an article on. It is very well explained though. Good work!

nicomp profile image

nicomp 6 years ago from Ohio, USA Author

@Daniel J Brereton: I think you've characterized my entire career.

shazwellyn profile image

shazwellyn 6 years ago from Great Britain

It is a simple topic which I have gone from not understanding to 'sort of' understanding. So, on the contary, there is definately a need to create articles like this!

It is only the hard stuff I understand, when it comes to easy - Im shot!

Congratulations on your nomination and good luck. I have voted this article up and labelled it useful :)

Derdriu 5 years ago

nicomp: Well written and clearly explained.

Voted up + useful + awesome

I just voted "yes" for helpful in the poll.

Dyl 5 years ago

i noticed one of the examples is wrong:

00010(carry digits, generated during the add operation)


+ 01001

= 11110

nicomp profile image

nicomp 5 years ago from Ohio, USA Author

@Dyl : The top row is the 'carry' from the previous column. You have to be careful not to add it twice. The expression is correct, but I can see how it might be misinterpreted.

Danish Gulzar 5 years ago

nice thanx

sophie 5 years ago




wen 4 1's occur what is carry n sum??

nicomp profile image

nicomp 5 years ago from Ohio, USA Author

Hi sophie ,

Your expression would be handled as two separate operations. First, add





next, add the result of that operation to 111





Semcurric 3 years ago

My spouse and i used to get high on living but lately I have built up a new amount of resistance.

nicomp profile image

nicomp 3 years ago from Ohio, USA Author

@Semcurric: No doubt.

Futamarka 3 years ago

Завивание выезжающих за рубеж; (НЕОЖИДАННОЕ ЗАБОЛЕВАНИЕ ИЛИ НЕСЧАСТНЫЙ СЛУЧАЙ)· Завивание от несчастного случая; (совершившееся событие, предусмотренное договором причёсывания, с наступлением которого возникает обязанность Страховщика произвести страховую выплату Запричёсыванному лицу (Выгодоприобретателю).

nicomp profile image

nicomp 3 years ago from Ohio, USA Author

Futamarka : Спасибо за Ваши добрые слова. Я с нетерпением жду многих будущих сообщений от вас, и ваш. Наслаждайтесь жизнью с Coca Cola.

lone77star profile image

lone77star 2 years ago from Cebu, Philippines

Nicomp, a wonderful resource, this. I've had a link to this in one of my most popular articles (Numbers are Beautiful) for a few years. Good stuff. Simple, elegant and easy to understand.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.

    Did you find this helpful?

    See results without voting
    Click to Rate This Article