ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Adding Binary Numbers

Updated on August 28, 2011

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.

  10101
+ 01001
  11110

>>

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)
  10101
+ 01001
  11110

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.

Did you find this helpful?

See results

Comments

    0 of 8192 characters used
    Post Comment

    • lone77star profile image

      Rod Martin Jr 

      4 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.

    • nicomp profile imageAUTHOR

      nicomp really 

      5 years ago from Ohio, USA

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

    • profile image

      Futamarka 

      5 years ago

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

    • nicomp profile imageAUTHOR

      nicomp really 

      5 years ago from Ohio, USA

      @Semcurric: No doubt.

    • profile image

      Semcurric 

      5 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 imageAUTHOR

      nicomp really 

      6 years ago from Ohio, USA

      Hi sophie ,

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

      111

      +111

      -----

      1110

      next, add the result of that operation to 111

      1110

      +0111

      -----

      10101

    • profile image

      sophie 

      6 years ago

      111+

      111

      111

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

    • profile image

      Danish Gulzar 

      6 years ago

      nice thanx

    • nicomp profile imageAUTHOR

      nicomp really 

      7 years ago from Ohio, USA

      @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.

    • profile image

      Dyl 

      7 years ago

      i noticed one of the examples is wrong:

      00010(carry digits, generated during the add operation)

      10101

      + 01001

      = 11110

    • profile image

      Derdriu 

      7 years ago

      nicomp: Well written and clearly explained.

      Voted up + useful + awesome

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

    • shazwellyn profile image

      shazwellyn 

      7 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 :)

    • nicomp profile imageAUTHOR

      nicomp really 

      7 years ago from Ohio, USA

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

    • Daniel J Brereton profile image

      Daniel J Brereton 

      7 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 imageAUTHOR

      nicomp really 

      8 years ago from Ohio, USA

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

    • profile image

      kon 

      8 years ago

      how about adding this,

      1

      1

      1

      1

      + 1

      _____________

    • profile image

      earlean_joy 

      8 years ago

      wow binary addition and subtraction is what we study about

    • Aneesh3 profile image

      Aneesh3 

      8 years ago from India

      Really helpful,Nicomp

    • Ben Evans profile image

      Ben Evans 

      8 years ago

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

    • nicomp profile imageAUTHOR

      nicomp really 

      8 years ago from Ohio, USA

      The poll needs more voters.

    • nicomp profile imageAUTHOR

      nicomp really 

      9 years ago from Ohio, USA

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

    • profile image

      dennisematt 

      9 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.

    • profile image

      allen 

      9 years ago

      good knoweledge tnx...n_n

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)