确认二进制中只有1和0

我只想为二进制使用1和0。但是答案总是给我第二个选项,无论我键入什么数字。我曾尝试在哪里编程错误,但是不幸的是我仍然找不到它。所以我希望我能在这里得到一些帮助。

#include<iostream>
#include<cmath>

using namespace std;

int DualzahlZuDezimal(long long n)
{
    int dez = 0;
    int i = 0, rem;
    while (n != 0)
    {
        rem = n % 10;
        n /= 10;
        dez += rem * pow(2, i);
        ++i;
    }
    return dez;
}

string a;

int main()
{
    long long n;
    int dez;

    cout << "Test Ein- und Ausgabe : \n";
    cout << "----------------------- \n";

    cout << "Eingabe einer Dualzahl : ";
    cin >> n;

    if ((n == '1') && (n == '0'))
    {
        cout << "Dual : " << n << endl;
        cout << "Dezimal : " << DualzahlZuDezimal(n) << endl;
        cout << "cin ok ? : ja-ok" << endl;
        return 0;
    }

    else
    {
        cout << "Dual : 0" << endl;
        cout << "Dezimal : 0" << endl;
        cout << "cin ok ? : nein-nicht ok" << endl;
        return 0;
    }
}
评论