#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { // Your logic here int len = 0; while (str[len] != '\0') ++len; // len = len - 1; // printf("%d", len); int res = 0; int i = 0; while (str[i] != '\0'){ int tmp = (str[i] == '1') ? (1 << (len - 1)): (str[i] - '0')*(len - 1); res += tmp; ++i; --len; } 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