# Convert numbers into binary representation and add them without carry

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 = 12Output:41Input:N = 456, M = 854Output:670

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.

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