Выдает правильный ответ раз через раз перевод из 2 в 10 тичную систему. Помогите исправить ошибку

#include <stdio.h>
int main() {
    char a[10000];
    int c, n;
    int i = 0, b = 0;
    scanf_s("%d", &n);
    a[0] = getchar();
    for (i = 0; i < n; i++) {
        a[i] = getchar() - '0';
    }
    int decimal_val = 0, base = 1, rem[10000];
    for (i = 0; i < n; i++) {
        rem[b] = a[i] % 10;
        decimal_val = decimal_val + (rem[b] * base);
        a[i] = a[i] / 10;
        base = base * 2;
    }
    printf("%d", decimal_val);
}

Пожалуйста, помогите. Выдает не правильный ответ.


Ответы (0 шт):