Given two numbers N and M. The task to convert both the numbers in the binary form then add respective bits of both the binary converted numbers but with a given condition that there is not any carry system in this addition.
Input: N = 37, M = 12
Output: 41
Input: N = 456, M = 854
Output: 670
Approach:
-
If we don’t consider carry then the binary addition of two bits will be:
1 + 0 = 1
0 + 1 = 1
0 + 0 = 0
1 + 1 = 0 (No carry)
-
If you observe clearly you will notice that this is just bitwise XOR of two numbers.
Below is the implementation of the above approach
C++
// C++ program to add two binary // number without carry #include<bits/stdc++.h> using namespace std;
// Function returns sum of both // the binary number without // carry int NoCarrySum( int N, int M)
{ // XOR of N and M
return N ^ M;
} // Driver code int main()
{ int N = 37;
int M = 12;
cout << NoCarrySum(N, M);
return 0;
} |
Java
// Java program to add two binary // number without carry import java.util.*;
class GFG{
// Function returns sum of both // the binary number without // carry static int NoCarrySum( int N, int M)
{ // XOR of N and M
return N ^ M;
} // Driver code public static void main(String[] args)
{ int N = 37 ;
int M = 12 ;
System.out.print(NoCarrySum(N, M));
} } // This code is contributed by amal kumar choubey |
Python3
# Python3 program to add two binary # number without carry # Function returns sum of both # the binary number without # carry def NoCarrySum(N, M):
# XOR of N and M
return N ^ M
# Driver code N = 37
M = 12
print (NoCarrySum(N, M))
# This code is contributed by sayesha |
C#
// C# program to add two binary // number without carry using System;
class GFG{
// Function returns sum of both // the binary number without // carry static int NoCarrySum( int N, int M)
{ // XOR of N and M
return N ^ M;
} // Driver code static public void Main(String[] args)
{ int N = 37;
int M = 12;
Console.Write(NoCarrySum(N, M));
} } // This code is contributed by Rajput-Ji |
Javascript
<script> // Javascript program to add two binary // number without carry // Function returns sum of both // the binary number without // carry function NoCarrySum(N, M)
{ // XOR of N and M
return N ^ M;
} // Driver code let N = 37;
let M = 12;
document.write(NoCarrySum(N, M));
</script> |
Output
41
Time complexity : O(1)
Auxiliary space : O(1)