#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { // Your logic here int i = 0; int length = 0; while (str[length] != '\0') ++length; length = length - 1; uint16_t res = 0; while (str[i] != '\0'){ uint16_t val = 1; if (str[i] == '1'){ for (int j = length; j > 0; j--){ val = val * 2; } } else val = 0; res += val; ++i; --length; } return res; } int main() { char bin[20]; scanf("%s", bin); printf("%u", binary_to_uint(bin)); return 0; }
Test Cases
Test Results
Input
1010
Expected Output
10