#include <stdio.h> #include <stdint.h> uint16_t binary_to_uint(const char *str) { int str_len = 0; while (str[str_len] != '\0') { str_len++; } uint16_t res = 0; for (int j = 0; j < str_len; j++) { if (str[j] == '1') { res += (1 << (str_len - 1 - j)); } } return res; /* input: 0b1010 str_len = 4 res = 8 output: 10 */ } 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