具有不同整数的数组加法

有什么办法可以用此代码添加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";
}

评论