Heim >Backend-Entwicklung >C++ >N Binärzeichenfolgen hinzufügen?

N Binärzeichenfolgen hinzufügen?

PHPz
PHPznach vorne
2023-08-25 14:53:25531Durchsuche

添加 n 个二进制字符串?

In diesem Programm müssen wir Binärzahlen eingeben und addieren. Es gibt n Binärzahlen und wir müssen sie alle addieren, um als Ausgabe eine Binärzahl zu erhalten.

Dazu verwenden wir eine binäre Additionslogik, um alle Elemente von 1 bis N nacheinander zu addieren, um das Ergebnis zu erhalten.

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

Erläuterung

Eine einfachere Möglichkeit besteht darin, die Binärzeichenfolge in ihr Dezimaläquivalent umzuwandeln, sie dann zu addieren und erneut in eine Binärzeichenfolge umzuwandeln. Hier werden wir es manuell hinzufügen. Wir werden eine Hilfsfunktion verwenden, um zwei Binärzeichenfolgen hinzuzufügen. Diese Funktion wird n-1 Mal für n verschiedene Binärzeichenfolgen verwendet.

Beispiel

#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;
}

Das obige ist der detaillierte Inhalt vonN Binärzeichenfolgen hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen