Home  >  Article  >  Backend Development  >  Add n binary strings?

Add n binary strings?

PHPz
PHPzforward
2023-08-25 14:53:25526browse

添加 n 个二进制字符串?

In this program, we need to give binary numbers and add them. There are n binary numbers and we need to add them all to get a binary number as output.

To do this, we will use binary addition logic to add all the items from 1 to N one by one to get the result.

Input: "1011", "10", "1001"
Output: 10110

Description

A simpler way is to convert the binary string to its decimal equivalent, then add them together and convert to binary again. Here we will add it manually. We will use a helper function to add two binary strings. This function will be used n-1 times against n different binary strings.

Example

#include<iostream>
using namespace std;
string add(string b1, string b2) {
   string res = "";
   int s = 0;
   int i = b1.length() - 1, j = b2.length() - 1;
   while (i >= 0 || j >= 0 || s == 1) {
      if(i >= 0) {
         s += b1[i] - &#39;0&#39;;
      } else {
         s += 0;
      }
      if(j >= 0) {
         s += b2[j] - &#39;0&#39;;
      } else {
         s += 0;
      }
      res = char(s % 2 + &#39;0&#39;) + res;
      s /= 2;
      i--; j--;
   }
   return res;
}
string addbinary(string a[], int n) { string res = "";
   for (int i = 0; i < n; i++) {
      res = add(res, a[i]);
   }
   return res;
}
int main() {
   string arr[] = { "1011", "10", "1001" };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << addbinary(arr, n) << endl;
}

The above is the detailed content of Add n binary strings?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete