有什么办法可以用此代码添加2个二进制数的和? 当我加12和24时得到的最终结果是010FF6F8(36)。每次我加起来都不同。 当我想将我输入的两个二进制数加到二进制数之和时,一切工作到最后。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int x1[10], x2[10], n1, n2, i, j, d1[10],d2[10];
int s1, s2;
cout << "\nEingabe Dezimalzahl 1 : ";
cin >> n1;
s1 = n1;
for (i = 0; n1 > 0; i++)
{
x1[i] = n1 % 2;
n1 = n1 / 2;
}
cout << "Dual : ";
for (i = i - 1; i >= 0; i--)
{
cout << x1[i];
d1[i] = x1[i];
}
cout << "\nEingabe Dezimalzahl 2 : ";
cin >> n2;
s2 = n2;
for (j = 0; n2 > 0; j++)
{
x2[j] = n2 % 2;
n2 = n2 / 2;
}
cout << "Dual : ";
for (j = j - 1; j >= 0; j--)
{
cout << x2[j];
d2[j] = x2[j];
}
cout << endl;
cout << "\nTest Addition und Zuweisung : \n";
cout << "-------------------------------\n";
int sumBin[10], sumDez;
int k = 0;
for (i = i - 1; i >= 0; i--)
{
for (j = j - 1; j >= 0; j--)
{
sumBin[k] = d1[i] + d2[j];
}
}
sumDez = s1 + s2;
cout << "zahl1 + zahl2 : " << sumBin << " (" << sumDez << ") \n";
}