Rumah >pembangunan bahagian belakang >C++ >Tambah n rentetan binari?
Dalam program ini, kita perlu memberi nombor binari dan menambahnya. Terdapat n nombor binari dan kita perlu menambah kesemuanya untuk mendapatkan nombor binari sebagai output.
Untuk ini kami akan menggunakan logik penambahan binari untuk menambah semua item dari 1 hingga N satu demi satu untuk mendapatkan hasilnya.
Input: "1011", "10", "1001" Output: 10110
Cara yang lebih mudah ialah menukar rentetan binari kepada persamaan perpuluhannya, kemudian tambahkannya bersama-sama dan tukarkan kepada binari semula. Di sini kami akan menambahnya secara manual. Kami akan menggunakan fungsi pembantu untuk menambah dua rentetan binari. Fungsi ini akan digunakan n-1 kali terhadap n rentetan binari yang berbeza.
#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] - '0'; } else { s += 0; } if(j >= 0) { s += b2[j] - '0'; } else { s += 0; } res = char(s % 2 + '0') + 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; }
Atas ialah kandungan terperinci Tambah n rentetan binari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!