Heim > Backend-Entwicklung > C++ > Hauptteil

N Binärzeichenfolgen hinzufügen?

PHPz
Freigeben: 2023-08-25 14:53:25
nach vorne
500 Leute haben es durchsucht

添加 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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!