ADVERTISEMENT
ADVERTISEMENT

C program to find Binary Addition and Binary Subtraction

Binary addition/subtraction is similar to regular (daily life) addition/subtraction, but here addition/subtraction performs only two digits those are 0 and 1, these are binary digits hence such kind of addition/subtraction is called binary addition/subtraction.

Example of Binary Addition:
Take two numbers, suppose numbers are 10 and 20 their binaries are 1010 and 10100.

In binary addition 
0+0	=	0
0+1	=	1
1+0	=	1
1+1	=	0	(1 carries out)
Now add 10 and 20
10	=	0 1 0 1 0
20	=	1 0 1 0 0
=	1 1 1 1 0
=	30

Example of Binary Subtraction:

Take two numbers, suppose numbers are 20 and 10 their binaries 10100 and 1010.

In binary subtraction 
0-0	=	0
1-0	=	1
0-1	=	1	(1 borrows out)
1-1	=	0

Now sub 10 from 20
20	=	1 0 1 0 0
10	=	0 1 0 1 0
=	0 1 0 1 0
=	10

Consider the example:

#include <stdio.h>

// function for Binary Addition
int binAddition(int a, int b)
{
    int c; //carry
    while (b != 0) {
        //find carry and shift it left
        c = (a & b) << 1;
        //find the sum
        a = a ^ b;
        b = c;
    }
    return a;
}

// function for Binary Subtraction
int binSubtracton(int a, int b)
{
    int carry;
    //get 2's compliment of b and add in a
    b = binAddition(~b, 1);

    while (b != 0) {
        //find carry and shift it left
        carry = (a & b) << 1;
        //find the sum
        a = a ^ b;
        b = carry;
    }
    return a;
}

int main()
{
    int number1, number2, binAdd, binSub;

    printf("Input first integer value: ");
    scanf("%d", &number1);

    printf("Input second integer value: ");
    scanf("%d", &number2);

    binAdd = binAddition(number1, number2);
    binSub = binSubtracton(number1, number2);

    printf("Binary Addition: %d\n", binAdd);
    printf("Binary Subtraction: %d\n", binSub);

    return 0;
}

Output:

    Input first integer value: 30
    Input second integer value: 5
    Binary Addition: 35
    Binary Subtraction: 25

C Advance Programs »


ADVERTISEMENT



ADVERTISEMENT



Comments and Discussions


ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.