Я сейчас читаю книгу на C ++, и есть задача, которая просит читателя преобразовать двоичное число (введенное пользователем) в десятичный эквивалент.Пока у меня есть следующий код, но все, что он делает, это вывод 0. Есть идеи, что пошло не так?
#include <iostream>
using namespace std;
int main()
{
int x, b = 10, decimalValue = 0, d, e, f, count = 1, counter = 0;
cout << "Enter a binary number: ";
cin >> x;
x /= 10;
while( x > 0)
{
count++;
x = x/10;
}
while (counter < count)
{
if (x == 1)
{
f = 1;
}
else{
f = x % b;
}
if (f != 0)
{
if (counter == 0)
{
decimalValue = 1;
}
else
{
e = 1;
d = 1;
while (d <= counter)
{
e *= 2;
d++;
}
decimalValue += e;
}
}
x /= b;
counter++;
}
cout << decimalValue << endl;
system("pause");
return 0;
}